Rubyでswitch文を書く方法 質問する

Rubyでswitch文を書く方法 質問する

switchRuby でステートメントを書くにはどうすればいいですか?

ベストアンサー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) === xx === (1..5)

これにより、上記のような洗練された句が可能になりますwhen。等価性だけでなく、範囲、クラス、その他さまざまなものをテストできます。

switch他の多くの言語の文とは異なり、Rubyにcase失敗whenなので、それぞれを で終わらせる必要はありません。のように、1 つの句breakで複数の一致を指定することもできますwhenwhen "foo", "bar"

おすすめ記事