開発環境
- 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 コメント:
コメントを投稿