2012年11月10日土曜日

開発環境

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

その他参考書籍

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

コメントを投稿