2011年6月19日日曜日

開発環境

  • Mac OS X Snow Leopard (OS)
  • TextWrangler(Text Editor) (いずれはBBEditを入手したい!)
  • Script言語:Perl

『初めてのPerl 第5版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-427-9) の10章(さまざまな制御構造), 10.11(練習問題)、1を解いてみる。

 

1.

やり方の1つ。(「やり方は何通りもある」(TIMTOWTDI(There Is More Than One Way To Do It.)))

コード(TextWrangler)

#!/usr/bin/perl
use strict;
use warnings;

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

while(<>){
  if(/quit|exit|^\s*$/i ||
      $_==$num){
    print "last\n";
    last;
    }elsif($_>$num){
    print "Too high\n";
    }elsif($_<$num){
    print "Too low\n";
    }
}

入出力結果(Ternimal)

入力がquitの場合

入力がexitの場合

入力が空行の場合

1から100までの間から選んだ秘密の数(乱数)を当てる。

おかしい?と思ってもう一度プログラムを実行。

1回目は偶然1発で当たったみたい。驚いた!

最初はパターンマッチを最後にもってきていて、文字列が数値になったりして上手くいかなかったので最初に移動。そのままコピペで結果最後のelsifが残ったままなことに気づく。ということで最後はelsifではなくelseで十分。

ファイルの用意が必要な場合はO'Reilly Japan - 初めてのPerl 第5版の関連ファイルのプログラム例に含まれているものを使用しています。

0 コメント:

コメントを投稿