初めてのPerl、とりあえず最後まで読めました。あとは練習問題は解いて行こう。平行してCPAN遊びもしたいところ。
1. 数あてゲームを作る
10章は練習問題はこれだけです。Cで言うcontinueがnext、breakがlastね。
use strict;
my $seacret = int (1 + rand 100);
while (1) {
print "Enter your answer: ";
chomp(my $ans = <STDIN>);
if ($ans eq "exit" or $ans eq "quit" or $ans eq "") {
print "End...\n";
last;
} elsif ($ans == $seacret) {
print "Yeah! You got it!\n";
last;
} elsif ($ans > $seacret) {
print "Too high\n";
} elsif ($ans < $seacret) {
print "Too low\n";
} else {
next;
}
}exitやquitを判定する条件式は一番始めにもってきます。でないと、quitみたいな文字列が入力されたときに、文字列と数値の比較が行われてしまってうまく動かない。この条件式は、正規表現を書いた方がよりPerl的だったなー。
/exit|quit|^\s*$/i
解答ではこんなノリの正規表現を使用していました。
- 作者: ランダル・L.シュワルツ,トムフェニックス,Randal L. Schwartz,Tom Phoenix,近藤嘉雪
- 出版社/メーカー: オライリージャパン
- 発売日: 2003/05
- メディア: 単行本
- 購入: 15人 クリック: 474回
- この商品を含むブログ (294件) を見る