開発環境
- OS X Lion - Apple(OS)
- Emacs、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 ruby2.0
#-*- 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 $
ちなみにpython3.3の場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
def ask(question):
while True:
print(question)
reply = input().strip()
if reply == 'はい':
return True
if reply == 'いいえ':
return False
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 コメント:
コメントを投稿