1. ホーム
  2. ruby

[解決済み] Rubyのswitch文の書き方

2022-03-14 18:55:24

質問

を書くにはどうしたらいいのでしょうか? switch ステートメントを Ruby で使用できますか?

どのように解決するのですか?

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 を付けて break . また、複数のマッチを1つの when のような節があります。 when "foo", "bar" .