case。

何故か、C系のswitchとかBasic系のcaseって使うことがあまりないのだけど、念のため。

a = 1
case a
when 1, 2, 3
  puts "1, 2, 3"
when 4, 5, 6
  puts "4, 5, 6"
end

1, 2, 3が出力される。when節で複数の条件を指定した場合はor。
whenの条件として配列内の要素を指定することも可能。

a = [1, 2, 3]
b = 1
case b
when *a
  puts "1, 2, 3"
else
  puts "else"
end

*を付けるのがみそ。1, 2, 3が出力される。この場合、 *を付けないとelse節の処理が実行される。


Ruby プログラミング基礎講座

Ruby プログラミング基礎講座