2014年7月8日火曜日

開発環境

初めてのPerl 第6版 (Randal L. Schwartz (著)、brian d foy (著)、Tom Phoenix (著)、近藤 嘉雪 (翻訳)、オライリージャパン)、15章(スマートマッチとgiven-when)の15.6(練習問題)1.を解いてみる。

その他参考書籍

15.6(練習問題)1.

コード(BBEdit, Emacs)

sample1.pl

#!/usr/bin/env perl
# use diagnostics;
use strict;
use warnings;
use 5.016;
use utf8;
binmode STDIN, ':utf8';
binmode STDOUT, ':utf8';
binmode STDERR, ':utf8';

my $secret_num = int(1 + rand 100);

say '秘密の数当てゲーム';
say '1から100までの数を入力してください';
while (1) {
    print '>> ';
    chomp( my $num = <STDIN> );
    given ($num) {
        when (/\A\s*\Z/) {say '終了'; last;}
        when ($_ =~ /\D+/ || $num > 100 || $num == 0) {
            say '1から100までの整数を入力してください。';
        }
        when ($secret_num) {say '正解です!'; last; }
        when ($_ > $secret_num) {say '大きすぎます。'; }
        default {say '小さすぎます。';}
    }
}

入出力結果(Terminal)

$ ./sample1.pl
秘密の数当てゲーム
1から100までの数を入力してください
>> 50
大きすぎます。
>> 25
大きすぎます。
>> 12
大きすぎます。
>> 6
小さすぎます。
>> 9
正解です!
$ ./sample1.pl
秘密の数当てゲーム
1から100までの数を入力してください
>> 
終了
$ ./sample1.pl
秘密の数当てゲーム
1から100までの数を入力してください
>> perl
1から100までの整数を入力してください。
>> 50
小さすぎます。
>> 
終了
$

0 コメント:

コメントを投稿