ループ2
1から10を出力させるプログラムを書いてみましょう
fig=1 until fig>10 puts fig + 1 end puts 'さようなら。また来てね'
上のコードを実行させたら "2" が出力エンドレスになってしまい大変困った。下述のキーを押せばストップします。覚えておくといいでしょう。
- Control + C
トライ2
fig=1 until fig == 10 puts fig + 1 end puts 'さようなら。また来てね'
Oh, これもダメ。エンドレス。うーんうーん。
トライ3
降参気味...時間置いて再トライ。
fig= '' gets = number.chomp puts number from 1 to 10 end puts 'さようなら。また来てね'
さすがにこれはなかった。そうだよねー英語じゃないしなあ…
whileend.rb:2: warning: parenthesize argument(s) for future version whileend.rb:2: warning: parenthesize argument(s) for future version whileend.rb:2: syntax error, unexpected tIDENTIFIER, expecting $end puts fig from 1 to 10 ^ moomin:ProgrammingRuby tomomi$ ruby whieend.rb ruby: No such file or directory -- whieend.rb (LoadError)
トライ4
降参!
と思ったら。考え方のコツありがとうございます感謝!
ループを書くときは、そのループの中でどの変数を変化させるか、ということを考えると良いと思います。前の問題では、inputという変数の値を変えていって、"さようなら"になるまでループしていますよね。
今回はどの変数の値を変えますか? また、変えるにはどうしたらいいでしょうか。
そうですよね。今回ですと、こうじゃないんかしら?
- 変化させる変数:fig (を+1ずつ10までループ)
うーということは、もしかして:演算子!以前C言語本を読んだ際、演算子のリファレンスを見たことがある( C言語演算子 )
fig= 1 until fig > 10 puts fig fig+= 1 end puts 'さようなら。また来てね'
できましたやった!2日がかり、これはうれしい!演算子かー使えるなー&ことばひとつひとつを分解して書くことがとても重要ですね。
moomin:ProgrammingRuby tomomi$ ruby whileend.rb 1 2 3 4 5 6 7 8 9 10 さようなら。また来てね
さようなら〜また来てね。