Écrire une instruction Switch en Ruby
-
Faites correspondre les
gammesdans leswitchRuby -
Faites correspondre
Regexdans Rubyswitch -
Associez
Procà Rubyswitch
Semblable au fonctionnement de l’instruction if, l’instruction switch nous permet de contrôler l’exécution d’un code en fonction d’une condition spécifique. Ce tutoriel examinera comment l’instruction switch est utilisée dans Ruby.
Vous trouverez ci-dessous la syntaxe d’une instruction switch dans Ruby.
case argument
when condition
# do something
else
# do something else if nothing else meets the condition
end
Nous examinerons quelques manières de base courantes de l’utiliser, puis quelques exemples quelque peu complexes qui ne sont pas si courants.
Exemples de codes :
def continent_identifier(country)
case country
when "Nigeria"
puts "Africa"
when "Netherlands"
puts "Europe"
when "India"
puts "Asia"
else
puts "I don't know"
end
end
continent_identifier("India")
continent_identifier("Netherlands")
continent_identifier("Germany")
Production :
Asia
Europe
I don't know
Ci-dessus est un exemple de base d’une méthode qui utilise une déclaration switch pour identifier le continent d’un pays. En regardant l’exemple ci-dessus, les éléments suivants méritent d’être notés.
- Contrairement à l’instruction
switchdans la plupart des autres langages de programmation, l’instructionswitchde Ruby ne nécessite pas debreakà la fin de chaquewhen. - L’instruction
switchde Ruby nous permet de spécifier plusieurs valeurs pour chaquewhenafin que nous puissions renvoyer un résultat si notre variable correspond à l’une des valeurs. Un exemple est illustré ci-dessous.
Exemples de codes :
def continent_identifier(country)
case country
when "Nigeria"
puts "Africa"
when "Netherlands", "Germany"
puts "Europe"
when "India"
puts "Asia"
else
puts "I don't know"
end
end
continent_identifier("India")
continent_identifier("Netherlands")
continent_identifier("Germany")
Production :
Asia
Europe
Europe
L’instruction switch de Ruby sous le capot utilise l’opérateur === pour faire la comparaison entre la variable case et les valeurs fournies, c’est-à-dire argument valeur ===. Du coup, Ruby switch nous permet de faire des comparaisons plus intelligentes.
Faites correspondre les gammes dans le switch Ruby
Dans cet exemple, nous vérifions si la variable case fournie est incluse dans l’une des plages spécifiées.
Exemples de codes :
def check_number(n)
case n
when 1..5
puts "Falls between 1 & 5"
when 6..10
puts "Falls between 6 & 10"
end
end
check_number(3)
check_number(7)
Production :
Falls between 1 & 5
Falls between 6 & 10
Faites correspondre Regex dans Ruby switch
Nous pouvons également associer des expressions régulières à la variable case, comme le montre l’exemple ci-dessous.
Exemples de codes :
def month_indentifier(month)
case month
when /ber$/
puts "ends with 'ber'"
when /ary$/
puts "ends with 'ary'"
end
end
month_indentifier("February")
month_indentifier("November")
Production :
ends with 'ary'
ends with 'ber'
Associez Proc à Ruby switch
Un Ruby Proc encapsule un bloc de code qui peut être stocké dans une variable ou transmis. Vous pouvez vérifier ici pour plus d’explications sur Ruby Proc. L’exemple suivant montre comment utiliser un Ruby Proc dans une instruction switch.
Exemples de codes :
def check_number(number)
case number
when -> (n) { n.even? }
puts "It's even"
when -> (n) { n.odd? }
puts "It's odd"
end
end
check_number(3)
check_number(6)
Production :
It's odd
It's even