http://d.hatena.ne.jp/tomomii+programming/20100622/p2
この問題は複数のテーマを同時に扱っていますね。こういうときは例えば以下のように要素を分解して、少しずつ攻めていくと良いと思います。
・おばあちゃんはあなたの声を聞いて返事をする
・あなたがBYEというまでおばあちゃんとの会話は終了しない
・あなたの声がすべて大文字でタイプされていないと「は!??もっと大きな声で話しておくれ、お嬢さん」と返事をする
・すべて大文字でタイプされていれば「いやー1938年以来ないねー」と返事をする
・年の部分は1930-1950のランダムな数字にする
ありがとうございます。たしかに分解要素を書き出してもらったら出来そうな気がしました。やってみましょ。
出来そうな気がしたのはまさに気のせいで、日本語分解→プログラミング言語翻訳作業に随分時間を要してしまいました。実行しては直し実行しては直しの繰り返し、修正作業無限ループでへこむ。
なんとか上述の条件を満たすプログラミングコードはこちらでいけるのではないかと思いますが同じコードが何度か出現していて冗長感が否めない(修正するとターミナル上で"ねえねえ"が無限ループしたのでやめた)。難しい。
puts 'こんにちは' puts 'は!!?もっと大きな声で話しておくれ、お嬢さん' input = gets.chomp until input == input.upcase puts 'は!?もっと大きな声で話しておくれ、お嬢さん' input = gets.chomp end puts 'いやー' + (1930 + rand(20)).to_s + '年以来ないねー' input2 =gets.chomp puts input2 until input2 =='BYE' puts 'ねえねえ' input2 = gets.chomp end puts 'さようなら、またね'
moomin:ProgrammingRuby tomomi$ ruby variable.rb こんにちは は!!?もっと大きな声で話しておくれ、お嬢さん hello は!?もっと大きな声で話しておくれ、お嬢さん Hello は!?もっと大きな声で話しておくれ、お嬢さん HELLO いやー1932年以来ないねー ほう ほう ねえねえ そうなの? ねえねえ なるほど! ねえねえ VYE ねえねえ BYE さようなら、またね
時間かかり過ぎ。センスないんだろか。