web-dev-qa-db-ja.com

Ruby on Rails Switch

誰かがRuby for variableでswitch caseを使用する方法の例を提供できますか?

58
glarkou

私はあなたがケース/いつを参照していると仮定します。

case a_variable # a_variable is the variable we want to compare
when 1    #compare to 1
  puts "it was 1" 
when 2    #compare to 2
  puts "it was 2"
else
  puts "it was something else"
end

または

puts case a_variable
when 1
  "it was 1"
when 2
  "it was 2"
else
  "it was something else"
end

編集

誰もが知っているわけではないかもしれませんが、非常に役立つのは、caseステートメントで正規表現を使用できることです。

foo = "1Aheppsdf"

what = case foo
when /^[0-9]/
  "Begins with a number"
when /^[a-zA-Z]/
  "Begins with a letter"
else
  "Begins with something else"
end
puts "String: #{what}"
111
Björn Nilsson