開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- プログラミング言語: Ruby
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 9章(自作メソッドの書き方), 9.5(練習問題)ask メソッドの改良 を解いてみる。
その他参考書籍
- 『プログラミング言語 Ruby』David Flanagan, まつもと ゆきひろ 著 、卜部 昌平 監訳、長尾 高弘 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-394-4)
- Rubyクックブック ―エキスパートのための応用レシピ集
ask メソッドの改良
コード(BBEdit)
sample.rb
#!/usr/bin/env ruby1.9
#-*- coding: utf-8 -*-
def ask question
while true
puts question
reply = gets.chomp.downcase
return true if reply == 'はい'
return false if reply == 'いいえ'
puts "「はい」または「いいえ」でお答え下さい"
end
end
result1 = ask "a"
result2 = ask "b"
puts result1
puts result2
入出力結果(Terminal)
$ ./sample.rb a はい b いい 「はい」または「いいえ」でお答え下さい b いいえ true false $
ちなみにJavaScriptの場合。
コード(BBEdit)
function ask( question ) {
var result;
while (true) {
var reply = prompt(question);
if (reply === "はい") {
return true;
}
if (reply === "いいえ") {
return false;
}
alert("「はい」または「いいえ」でお答え下さい");
}
}
var result = ask("a") + "\n";
result += ask("b");
$('#pre0').text(result);
pythonの場合。
sample.py
コード(BBEdit)
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
def ask(question):
while True:
reply = input(question)
if reply == "はい":
return True
if reply == "いいえ":
return False
print("「はい」または「いいえ」でお答え下さい。")
print("{0}, {1}".format(ask("a"), ask("b")))
入出力結果(Terminal)
$ ./sample.py aはい bいい 「はい」または「いいえ」でお答え下さい。 bいいえ True, False $
perlの場合。
sample.pl
コード(BBEdit)
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use 5.016;
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";
sub ask {
my $question = shift;
while (1) {
print "$question: ";
chomp(my $reply = <STDIN>);
return 1 if $reply eq "はい";
return 0 if $reply eq "いいえ";
print "「はい」または「いいえ」でお答え下さい。\n";
}
}
print ask("a"), ", ", ask("b"), "\n";
入出力結果(Terminal)
$ ./sample.pl a: はい b: いい 「はい」または「いいえ」でお答え下さい。 b: いいえ 1, 0 $
0 コメント:
コメントを投稿