2013年10月9日水曜日

開発環境

『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 9章(自作メソッドの書き方), 9.5(練習問題)、askメソッドの改良、を解いてみる。

その他参考書籍

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 コメント:

コメントを投稿