桃太郎2017/3/102019/4/24Rubyには条件文としてif文とcase文があります。case文はif文同様に条件式によって処理を分岐させるために使用します。「case文の使い方を基本から知りたい」という方に向けてcaseの使い方についてについて以下の内容で解説していきます。まとめcase文とはcase文は比較する値を指定して、複数の条件式の中から一致した条件に記述されている処理を実行します。case文の書き方は以下となります。他の言語のようにSwitch〜caseのような書き方はせず、case〜whenで記載します。caseに指定した「対象」がwhenに指定した条件のどれかに当てはまる場合、それにあてはまった処理を実行します。どれにも当てはまらない場合は、elseにある処理が実行される流れとなります。以下のサンプルでは指定した値がwhenの条件に一致するか確認し、一致した場合はあてはまったwhenの処理を実行しています。else"end実行結果2ndこのプログラムでは、caseに2が格納されたオブジェクトaを指定し、whenの条件で値を1,2,3でそれぞれ指定しています。then」に当てはまるので、当てはまった条件の処理が実行されます。以下のように文字列を比較する対象に指定することもできます。then」に一致します。whenに複数の条件を設定してみようcaseのwhenの条件には、カンマ「,」で区切って複数の条件を書くことができます。複数書いた条件のいずれかが「対象」とマッチした場合、whenの処理が実行されます。実際にサンプルコードを見てみましょう。5th以上のように、whenに複数の条件をカンマで区切って並べることができ、並べた条件式のいずれかが「対象」とマッチしたとき、そのwhenの処理が実行されます。5th”という処理が実行されています。case文の応用的な使い方whenには様々な条件を指定することが可能です。その中でも特に実際の使用頻度が高いものをご紹介します。範囲(Range)を指定するたとえば、ショッピングサイトにてユーザの年齢に応じて、オススメする商品をわける処理があるとします。その際、年齢の幅を範囲で指定するように条件分岐を作成するとします。そのようなとき、whenに記載する条件は以下のように指定することができます。“..”は幅を表しており、左の数字から右の数までの範囲を表しています。対象の年齢に当てはまる幅にて処理が正しく実行されていることが確認できます。正規表現(regex)を指定する正規表現もwhenの条件にはよく利用されます。実際のサンプルコードを確認してみましょう。A以上のように、caseのwhenの条件に正規表現を書くことで、正規表現による条件検索が実現できました。正規表現は慣れない内は理解が難しいかもしれませんが、数をこなすことで強力なプログラミングの武器となります。正規表現とはそもそも何か不安な方は以下の記事を事前に確認しておくと良いでしょう。配列(Array)を指定する配列(Array)はそのまま、whenの条件式には書けません。すれば配列をwhenに書けるのでしょうか?答えは、配列の前にアスタリスク「*」を付けて、配列を展開しwhenに認識させることです。こちらも具体的なサンプルで確認してみましょう。配列は展開されると、カンマ区切りの数値のリストになりますので、上記コードは、実質下記コードと等しくなります。else"end以上のように、caseのwhenに配列をしていする時には、必ず配列を展開して、リスト形式の条件式にするように注意してください。array(配列)の使い方については以下の記事を参考にしてみてください。2018年9月4日クラス(Class)を指定するrubyには様々なクラスが存在します。文字列を扱うStringクラス、数値を扱うNumericクラス、配列を扱うArrayクラスなどがそれにあたります。そのようなクラスの種類をwhenの条件に指定することで、どのクラスに該当するものかを検索する処理を記述することが可能です。具体的なサンプルコードを確認してみましょう。