switch
Ruby でステートメントを書くにはどうすればいいですか?
ベストアンサー1
Rubyはcase
表現その代わり。
case x
when 1..5
"It's between 1 and 5"
when 6
"It's 6"
when "foo", "bar"
"It's either foo or bar"
when String
"You passed a string"
else
"You gave me #{x} -- I have no idea what to do with that."
end
Ruby は、演算子を使用して、節内のオブジェクトwhen
と節内のオブジェクトを比較します。たとえば、は比較されますが、 は比較されません。case
===
(1..5) === x
x === (1..5)
これにより、上記のような洗練された句が可能になりますwhen
。等価性だけでなく、範囲、クラス、その他さまざまなものをテストできます。
switch
他の多くの言語の文とは異なり、Rubyにcase
は失敗when
なので、それぞれを で終わらせる必要はありません。のように、1 つの句break
で複数の一致を指定することもできます。when
when "foo", "bar"