流れ制御 >練習問題まとめ
苦労したこの問題。
おばあちゃんに何を言っても大文字でタイプしない限り
- は!??もっと大きな声で話しておくれ、お嬢さん
と返事をします。彼女があなたの声を聞いて
- いやー1938年以来ないねー
と返事をします。できれば1930-1950のランダムな数字で何度か違う数を言うようにしましょう。あなたがBYEというまで会話がおばあちゃんとの会話は終了しません。
プログラムを実行するに必要な要素ごとに文を分解するといいよとご助言いただき ようやく分解コードが形になったのでそれぞれを足して上の会話文をあらわしてみましょ。
input = gets.chomp until input == input.upcase puts 'は!?? もっと大きな声で話しておくれ大嬢さん' input = gets.chomp end puts 'いやー' +(1930 + rand(20)).to_s + '年以来ないねー' until input == 'BYE' puts 'あそぼう' input = gets.chomp end puts 'さようならまたね'
雨バージョンで。
moomin:ProgrammingRuby tomomi$ ruby practice.rb hi は!?? もっと大きな声で話しておくれ大嬢さん hello は!?? もっと大きな声で話しておくれ大嬢さん how are you? は!?? もっと大きな声で話しておくれ大嬢さん HELLO いやー1943年以来ないねー あそぼう 今日は雨 あそぼう 雨だから寝る あそぼう 眠いの あそぼう BYE さようならまたね
これでよいのかな。適切かつ簡潔に要素を分解してコードに落とすことがすごく大事なんですね。なかなかそのコツがつかめないでいるけど数を解いて慣れるしかなさそう。がむばります。
多くの指南ご助言ありがとうございますどもですー!