基本
1 2 3 4 5 6 7 |
if 条件1 条件1に該当する処理 elsif 条件2 条件2に該当する処理 else それ以外の処理 end |
注意点としては他の言語では当たり前の「elseif」ではなく「elsif」となる点です。
unless
ifとは反対の意味で使われる「unless」があります。(なお、無理にunlessを使う必要はありません。基本的にはifでOKですが人がもしunlessを使っていた場合に意味を把握できるようにしておきましょう。)
1 2 3 4 5 |
unless 条件 条件に該当しない場合に実行したい処理 else 条件に該当する場合に実行したい処理 end |
unlessではelsifに該当するものはありません。
後置if、後置unless
if文やunless文を後方に持ってきて評価させる方法でRubyではよく見られます。
1 2 |
a = 'test' puts a if a == 'test' |
三項演算子
単純な分岐の場合は積極的に使う。
1 |
条件 ? '真だった場合の結果' : '偽だった場合の結果' |
case
1 2 3 4 5 6 7 8 |
case 対象オブジェクトや式 when 値1 値1に一致する処理 when 値2 値2に一致する処理 else どの値にも一致しない場合の処理 end |
用途としては、ifで多くのelsifを積み重ねるよりはcaseで書いた方がよりすっきり見やすくなるので使います。
値のバリエーション
単に単一の値だけでなく下記のような種類も指定できます。
Rangeオブジェクト
1 |
when (1..5) |
複数の値
1 |
when '値1','値2','値3' |
この記事へのコメントはありません。