caseに与える値によって条件分岐できる。
case a when 100 puts "a=100 です" when 50 puts "a=50 です" else puts "aは50でも100でもありません。" end
★結果
aが100のときは、「a=100 です」
aが50のときは、「a=50です」
それ以外のときは、「aは50でも100でもありません。」
となる。
ちなみに
条件には正規表現も使える。
a=%w!aa 1 bbb eee! #%記法 要素の区切りをスペースで表現
p a #ちゃんと配列ができているかの確認
a.each do |n|
case n
when /a/
puts "#{n}には「a」が含まれています。"
when /b/
puts "#{n}には「a」が含まれています。"
else
puts "#{n}には「a」も「b」も含まれていません。"
end
end
※%記法についてはこちらに記載しています。
めんどうでない配列の作り方 %w記法
★結果
["aa", "1", "bbb", "eee"]
aaには「a」が含まれています。
1には「a」も「b」も含まれていません。
bbbには「a」が含まれています。
eeeには「a」も「b」も含まれていません。
複数の条件も指定できる
a=%w!aa 1 bbb eee! #%記法 要素の区切りをスペースで表現
p a #ちゃんと配列ができているかの確認
a.each do |n|
case n
when "aa","1"
puts "#{n}はaaか1です"
when "bbb","eee"
puts "#{n}はbbbかeeeです"
end
end
★結果
["aa", "1", "bbb", "eee"]
aaはaaか1です
1はaaか1です
bbbはbbbかeeeです
eeeはbbbかeeeです
リンク
