Ruby初心者課題 繰り返し処理


課題を解いて学んだことを書いていきます

Q ターミナルに、1~10を順に表示してください。
  ただし、5のみ表示させないでください。

解答↓

qiita.rb
num=0
while num<10 do
    num+=1
    next if num==5

    puts num
end

繰り返しの処理を行ってくれるwhile構文を使う

qiita.rb
while 条件式 do
〜処理〜
end

条件式を実行した結果がtrueであれば、do ~ end を繰り返し実行しますが、falseであれば、繰り返しの最後になり、繰り返しを抜け、終了します。

while構文を使うと今回の場合num<10と定義しているので1~10の値がターミナルに表示されます。
ですが、5を表示しないという問題も課されているので5をスキップするために使うのがnextです。

nextは指定の回数の時だけ繰り返しをスキップしたい時に使用します。
スキップした後は、whileの次の回から繰り返し処理が継続されます。

qiita.rb
next if num==5

(もしnumが5だったらスキップ処理をしてください。って感じでかきました。)

ついでに

今回使ったnextと同じ要領で使えるbreakというものがあります。
breakは、繰り返し処理を中断し繰り返しを抜けて終了するために使用します。

qiita.rb
num=0
while num<10 do
    num+=1
    break if num==5

    puts num
end

(numが5の回数の時、繰り返しを抜けて中断して、終了処理をしてください。って感じです。)

この時ターミナルには1~4の数字が表示されている。