web-dev-qa-db-fra.com

Ruby sur Rails Basculer

Quelqu'un peut-il fournir un exemple sur la façon d'utiliser Switch Case dans Ruby pour variable?

58
glarkou

Je suppose que vous parlez de cas/quand.

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

ou

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

MODIFIER

Quelque chose que tout le monde ne connaît peut-être pas, mais ce qui peut être très utile, c'est que vous pouvez utiliser des expressions rationnelles dans une instruction 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