2020年5月21日木曜日

開発環境

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

コード

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

say '2.';

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

say "秘密の数: $secret_number" if $ENV{DEBUG} // 1;
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)

% ./sample2.pl
2.
秘密の数: 36
1から100までの数値を入力: 36
正解!
% DEBUG=1 ./sample2.pl 
2.
秘密の数: 90
1から100までの数値を入力: 90
正解!
% DEBUG=0 ./sample2.pl
2.
1から100までの数値を入力: 50
大きすぎる。
1から100までの数値を入力: 25
小さすぎる。
1から100までの数値を入力: 37
大きすぎる。
1から100までの数値を入力: 31
小さすぎる。
1から100までの数値を入力: 35
小さすぎる。
1から100までの数値を入力: 36
正解!
% 

0 コメント:

コメントを投稿