開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語: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 メソッドの改良
コード(TextWrangler)
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
puts "こんにちは。お忙しところ・・・・・・"
puts
ask 'タコスはお好きですか?'
ask 'ブリトーはお好きですか?'
wets_bed = ask 'お漏らししますか?'
ask 'チミチャンガはお好きですか?'
ask 'ソパピアはお好きですか?'
puts 'あと少しです・・・・・・'
ask 'オルチャータは好きですか?'
ask 'フラウタスは好きですか?'
puts
puts 'デブリーフィング:'
puts 'この実験のために・・・・・・'
puts
puts wets_bed
入出力結果(Terminal)
$ ./sample.rb こんにちは。お忙しところ・・・・・・ タコスはお好きですか? はい ブリトーはお好きですか? はい お漏らししますか? まさか 「はい」または「いいえ」でお答え下さい。 お漏らししますか? いいえ チミチャンガはお好きですか? はい ソパピアはお好きですか? はい あと少しです・・・・・・ オルチャータは好きですか? はい フラウタスは好きですか? はい デブリーフィング: この実験のために・・・・・・ false $
ちなみにJavaScriptの場合。
コード(TextWrangler)
$('#pre0').append("やりとりの記録\n");
function ask(question){
while(1){
$('#pre0').append(question + "\n");
reply = prompt(question, "");
$('#pre0').append(reply + "\n");
if(reply === "") break;
if(reply === "はい"){
return true;
} else if(reply === "いいえ") {
return false;
} else {
question = "はい」または「いいえ」でお答え下さい";
}
}
}
var str = "こんにちは。お忙しいところ・・・・・・";
alert(str);
$('#pre0').append(str + "\n");
$('#pre0').append("\n");
ask('タコスはお好きですか?');
ask('ブリトーはお好きですか?');
wets_bed = ask('お漏らししますか?');
ask('チミチャンガはお好きですか?')
ask('ソパピアはお好きですか?');
str = "あと少しです・・・・・・";
alert(str);
$('#pre0').append(str + "\n");
ask('オルチャータは好きですか?');
ask('フラウタスは好きですか?');
$('#pre0').append("\n");
str = "デブリーフィング\nこの実験のために・・・・・・\n";
alert(str);
$('#pre0').append(str + "\n");
$('#pre0').append(wets_bed + "\n");
pythonの場合。
sample.py
コード(TextWrangler)
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
def ask(question):
while True:
print(question)
reply = input()
if reply == "はい":
return True
elif reply == "いいえ":
return False
else:
print("「はい」または「いいえ」でお答え下さい。")
print("こんにちは。お忙しいところ・・・・・・")
print()
ask( 'タコスはお好きですか?')
ask( 'ブリトーはお好きですか?')
wets_bed = ask( 'お漏らししますか?')
ask( 'チミチャンガはお好きですか?')
ask( 'ソパピアはお好きですか?')
print( 'あと少しです・・・・・・')
ask( 'オルチャータは好きですか?')
ask( 'フラウタスは好きですか?')
print()
print( 'デブリーフィング:')
print( 'この実験のために・・・・・・')
print()
print( wets_bed )
入出力結果(Terminal)
$ ./sample.py こんにちは。お忙しいところ・・・・・・ タコスはお好きですか? はい ブリトーはお好きですか? はい お漏らししますか? まさか 「はい」または「いいえ」でお答え下さい。 お漏らししますか? いいえ チミチャンガはお好きですか? はい ソパピアはお好きですか? はい あと少しです・・・・・・ オルチャータは好きですか? はい フラウタスは好きですか? はい デブリーフィング: この実験のために・・・・・・ False $
0 コメント:
コメントを投稿