制御構造

ドキュメント:

制御構造 | Ruby リファレンスマニュアル [公式]

概要

条件分岐
  • if
  • unless
  • case
繰り返し
  • while
  • until
  • for
  • break
  • next
  • redo
例外処理
  • begin
  • rescue
  • raise
  • retry
その他
  • return
  • BEGIN
  • END

ドキュメント:

制御構造 | Ruby リファレンスマニュアル [公式]

for 文

  • for ... in ... do ... end

ドキュメント:

for | Ruby リファレンスマニュアル [公式]

参考:

for 文 | JavaDrive

繰り返し処理について – for / while / until / each / time / loop | TASK NOTES

for 文 – ちょっと便利な繰り返し処理の構文とは? | Build Insider

for 文のサンプル (break / continue) | ITSakura

times

指定した回数だけ処理を繰り返す。

5.times do
    puts "Hello, World!"
endCode language: Ruby (ruby)

ドキュメント:

Integer#times | Ruby リファレンスマニュアル [公式]

参考:

繰り返し – Qiita

条件分岐 (if 式)

  • if ... elsif ... else ... end

else if ではなく elsif を使うのは、最後の end を一つで済ませるため。

if obj.is_a?(A) then
  puts "This is A."
elsif obj.is_a?(B) then
  puts "This is B."
else
  puts "This is unknown."
endCode language: Ruby (ruby)

else if を使ってインデントを正しく取って書いた場合は以下のようになる。

if obj.is_a?(A) then
  puts "This is A."
else
  if obj.is_a?(B) then
    puts "This is B."
  else
    puts "This is unknown."
  end
endCode language: Ruby (ruby)

else if を同じ行に書いた場合には次のようになるが、end は二つ必要である。

if obj.is_a?(A) then
  puts "This is A."
else if obj.is_a?(B) then
  puts "This is B."
else
  puts "This is unknown."
end; endCode language: Ruby (ruby)

ドキュメント:

if | Ruby リファレンスマニュアル [公式]

参考:

複数の条件分岐 (if…elsif…else…end) | JavaDrive

unless 文に elsif はないよ – Qiita

else if を読み解く – Qiita

条件分岐 – GitHub Gist

Can I use `else if` over `elsif`? – Stack Overflow

do … end

参考:

do … end と { … } の違い | おもしろ web サービス開発日記

next / break / redo

  • next次の繰り返しの実行に移る。
  • breakループの実行を中断する。
  • redo現在と同じ条件の繰り返しをもう一度行う。

参考:

next / break でよく分かってなかったこと | dunno logs

ブロックについてのあれこれ – Qiita

break / next / redo の違い | Worth Living

多重ループを抜ける (throw / catch)

参考:

多重ループを抜ける方法 | 或るプログラマの開発日記

多重ループを抜ける3つの方法を速度比較してみた | sonots:blog

ネストの深いループを抜け出す | 酒と涙とRubyとRailsと

多重ループから抜ける – Qiita

多重ループから抜ける | ラブレター それから

まとめ

制御構造 | Ruby アソシエーション

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA