本日初めて質問させていただきます。
プログラミング初心者で、現在はじめてのプログラミング言語としてRubyに取り組んでおり、まずはドットインストールで学習中です。
こちらのドットインストールのRubyの繰り返し処理の中でloopやnext、breakなどが出ており、動画とは別に処理を色々と試していました。
そこで0から10までを表示し6をとばして表示する処理をloop構文で表せないかと思いましたがうまくできず、こちらで質問させていただきました。
コマンドは、irb形式で行っています
当初は、loopを使って以下のコードで試して見ました。
number = 0 loop do puts number number += 1 if number == 6 next elsif number == 10 break end end
結果は、breakのみが実行されて6をとばすは実行されませんでした。
次に、以下に変更しました。
loop do next if number == 6 puts number number += 1 break if number == 10 end
結果は↓の画像のように0から5までが表示され、2.4.1 :001 >のような画面(プロンプト?)が消えてしまいました。
https://gyazo.com/9a739c498f248c14e90d7313c1707613
上記のコードをtimesメソッドで試した場合は、望んだ表示になりました。
10.times do |number| next if number == 6 puts number number += 1 end
まとめですが、質問点は二つ
・0から10までを表示し6をとばして表示する処理はloop構文では表現できないか
・二個目のコードを入力した際、何故irb形式で現れる2.4.1 :001 >が消えてしまったのか
です。
質問でわかりにくいところ、質問で足りていない点などございましたら、ご指摘お願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/20 08:40