■プログラミング学習
◎Rubyの条件分岐の表現方法「case文」
case文とは、条件分岐を表現するための文法です。
if文のelsifを重ねるよりもシンプルにコードを書くことができます。
並列する条件が多数ある場合は、if~elsif~elsif~・・elseと記述するよりも
case文を使ったほうがコードとして読みやすくなります。
【case文の構成】
case 対象のオブジェクトや式 when 値1 #値1に一致する場合に実行する処理 when 値2 #値2に一致する場合に実行する処理 when 値3 #値3に一致する場合に実行する処理 else #どれにも一致しない場合に実行する処理
実際のコードで比較すると下記イメージです。
If 文の場合
country = "Japan" if country == "Japan" puts "リンゴ" elsif country == "America" puts "Apple" elsif country == "France" puts "Pomme" elsif country == "China" puts "苹果" elsif country == "Italy" puts "Mela" elsif country == "Germany" puts "Apfel" else puts "..." end
case文の場合
country = "Japan" case country when "Japan" puts "リンゴ" when "America" puts "Apple" when "France" puts "Pomme" when "China" puts "苹果" when "Italy" puts "Mela" when "Germany" puts "Apfel" else puts "..." end
case countryの部分が条件の対象となります。
whenで指定した値とcountryの中身が一致するかで条件を判定しています。
if文と比べてシンプルな見た目になるため、並列する条件が多数ある場合はcase文を使う。