開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- Script言語:Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2) の15章(スマートマッチとgiven-when)、15.6(練習問題)1を解いてみる。
その他参考書籍
1.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use 5.016;
binmode STDIN, ':utf8';
binmode STDOUT, ':utf8';
my $secret_num = int(1 + rand 100);
while(1){
print "秘密の数(1から100までの整数)を入力: ";
chomp(my $num = <STDIN>);
last if $num =~/^\s*$/;
given($secret_num){
when($num =~ /\D/){ print "数値を入力してください\n";}
when($num > $_){ print "Too high\n";}
when($num < $_){ print "Too low\n";}
when($num == $_){ print "当たり!\n";
last;}
}
}
入出力結果(Terminal)
$ ./sample.pl 秘密の数(1から100までの整数)を入力: perl 数値を入力してください 秘密の数(1から100までの整数)を入力: 50 Too low 秘密の数(1から100までの整数)を入力: 75 Too high 秘密の数(1から100までの整数)を入力: 62 Too low 秘密の数(1から100までの整数)を入力: 68 当たり! $
ちなみにJavaScriptの場合。
コード(BBEdit)
var secret_num = Math.floor(Math.random() * 100) + 1;
function clicked(){
var num = parseInt($('#t_num').val());
if(/\D/.test(num)){
$('#pre0').append("数値を入力してください\n");
} else if(num > secret_num){
$('#pre0').append("Too high\n");
} else if(num < secret_num){
$('#pre0').append("Too low\n");
} else if(num === secret_num){
$('#pre0').append("正解!\n");
$('#l0').remove();
$('#btn0').remove();
return;
} else {
$('#pre0').append("?\n");
}
$('#t_num').val("");
}
function f(e){
var e = e ? e : window.e;
if(e.keyCode === 13) clicked();
}
$('#btn0').click(clicked);
$('#t_num').keydown(f);
$('#pre0').append("秘密の数当てゲームスタート!\n");
pythonの場合。
sample.py
コード(BBEdit)
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
import random, re
secret_number = random.randint(1,100)
while True:
num = input("数値(1から100まで)を入力: ")
if re.search(r"^\s*$", num): break
if re.search(r"\D", num):
print("数値を入力してください")
continue
num = int(num)
if num > secret_number:
print("Too high")
elif num < secret_number:
print("Too low")
elif num == secret_number:
print("正解!")
break
入出力結果(Terminal)
$ ./sample.py 数値(1から100まで)を入力: python 数値を入力してください 数値(1から100まで)を入力: $ ./sample.py 数値(1から100まで)を入力: 50 Too high 数値(1から100まで)を入力: 25 Too high 数値(1から100まで)を入力: 12 Too high 数値(1から100まで)を入力: 6 Too low 数値(1から100まで)を入力: 9 Too high 数値(1から100まで)を入力: 7 Too low 数値(1から100まで)を入力: 8 正解! $
0 コメント:
コメントを投稿