2020年5月20日水曜日

開発環境

初めてのPerl 第7版 (Randal L. Schwartz(著)brian d foy(著)Tom Phoenix(著)近藤 嘉雪(翻訳)嶋田 健志(翻訳)、オライリージャパン)の10章(さまざまな制御構造)、10.11(練習問題)1の解答を求めてみる。


コード

#!/usr/bin/env perl
use strict;
use warnings;
use v5.28;

say '1.';

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

while (1) {
    print "1から100までの数値を入力: ";
    chomp($_ = <STDIN>);
    last if $_ eq "quit" || $_ eq "exit" || /\A\s*\Z/;
    unless (/\A\d*\Z/ && 1 <= $_ && $_ <= 100) {
        say "不正な数値";
        redo;
    }
    if ($_ == $secret_number) {
        say "正解!";
        last;
    }
    if ($_ > $secret_number) {
        say "大きすぎる。";
    } else {
        say "小さすぎる。";
    }
}

入出力結果(Zsh、PowerShell、Terminal)

% ./sample1.pl
1.
1から100までの数値を入力: 
% ./sample1.pl
1.
1から100までの数値を入力: quit
% ./sample1.pl
1.
1から100までの数値を入力: exit
% ./sample1.pl
1.
1から100までの数値を入力: 50
大きすぎる。
1から100までの数値を入力: 25
小さすぎる。
1から100までの数値を入力: 37
小さすぎる。
1から100までの数値を入力: 43
大きすぎる。
1から100までの数値を入力: 40
正解!
% ./sample1.pl
1.
1から100までの数値を入力: 50
大きすぎる。
1から100までの数値を入力:    
% ./sample1.pl
1.
1から100までの数値を入力: a
不正な数値
1から100までの数値を入力: 
% 

0 コメント:

コメントを投稿