カテゴリー
Ruby

caseについて知ろう

この章ではcase文について説明します。
case文はif文と同じ機能があります。
では例をみてみましょう。99 9この基本構文の意味は対象のオブジェクトが値 1であるならば実行文1を、対象のオブジェクトが値2であるならば実行文2を、その他は実行文 3を実行すると言う意味です。
この例の結果は以下の通りです。9 先ほどのcase文をif文で書き換えると以下の通りです。99 whenの後の値は9のように複数書いても問題ありませんが、その場合にはカンマで区切ってください。
では例をみてみましょう。
99 animal の値の9と以下のwhenの条件部分が一致しますので9が実行されます。9 結果は以下の通りです。9 では次の例を見てみましょう。99 この例は配列のすべての要素に対して、その要素がどの範疇にあるのかをcase文でチェックしています。
配列の要素が1つずつiにセットされ、その値がどの場所に収まっているかをwhenで確認しています。
each doについては配列の章で説明しましたので、忘れた方は見直してください。
「1..30」の間に「..」がありますが、これを範囲演算子といいます。
範囲演算子は9と言う形式で書きますので、この例では1から30までという意味になります。
文字列で書く場合は9という構文で書きます。
例えば9と、書きます。
結果は以下の通りです。9 範囲の作成方法は他にもあり、以下の構文で書くことが出来ます。これはRangeクラスのオブジェクトですが、クラスについては「クラスについて知ろう」で説明します。9 exclude_endをtrueで指定すると終端の数値を含みません。つまり、9と書きますと30は含まれません。
では例をみてみましょう。99 結果は以下の通りです。9