Jugement conditionnel Ruby
Ruby fournit plusieurs structures conditionnelles très courantes. Ici, nous expliquerons toutes les instructions conditionnelles et modificateurs disponibles dans Ruby.
Ruby if...else Instruction
Syntaxe
if conditional [then] code... [elsif conditional [then] code...]... [else code...] end
if L'expression est utilisée pour l'exécution conditionnelle. Les valeurs false et nil sont fausses, et toutes les autres valeurs sont vraies. Notez que Ruby utilise elsif, pas else if et elif.
Si conditionnel est vrai, exécutez le code. Si conditional n'est pas vrai, exécutez le code spécifié dans la clause else.
Habituellement, nous omettons alors le mot réservé. Si vous souhaitez écrire la formule if complète sur une seule ligne, vous devez séparer la formule conditionnelle et le bloc de programme par then. Comme indiqué ci-dessous :
if a == 4 then a = 7 end
instance
#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 if x > 2 puts "x 大于 2" elsif x <= 2 and x!=0 puts "x 是 1" else puts "无法得知 x 的值" end
L'exemple de résultat de sortie ci-dessus :
x 是 1
Ruby if modificateur
Grammaire
code if condition
La phrase modificatrice if signifie que la formule à gauche de if ne sera exécutée que lorsque la condition à droite de if est vraie. Autrement dit, si conditionnel est vrai, exécutez le code.
Instance
#!/usr/bin/ruby $debug=1 print "debug\n" if $debug
L'exemple de résultat de sortie ci-dessus :
debug
Ruby sauf si Déclaration
La syntaxe
unless conditional [then] code [else code ] end
sauf si et si ont l'effet inverse, c'est-à-dire si conditional est faux, alors le code sera exécuté. Si conditional est vrai, exécutez le code spécifié dans la clause else.
Instance
#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 unless x>2 puts "x 小于 2" else puts "x 大于 2" end
Le résultat de sortie de l'exemple ci-dessus est :
x 小于 2
Ruby sauf siModificateur
Syntaxe
code unless conditional
Si conditionnel est faux, exécutez le code.
Instance
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $var = 1 print "1 -- 这一行输出\n" if $var print "2 -- 这一行不输出\n" unless $var $var = false print "3 -- 这一行输出\n" unless $var
L'exemple de résultat de sortie ci-dessus :
1 -- 这一行输出 3 -- 这一行输出
Ruby case Déclaration
La syntaxe
case expression [when expression [, expression ...] [then] code ]... [else code ] end
case effectue d'abord un jugement de correspondance sur une expression, puis effectue une sélection de branche en fonction du résultat de correspondance.
Il utilise l'opérateur === pour comparer l'expression spécifiée par quand S'ils sont cohérents, le quand<. 🎜> la partie est exécutée en contenu.
Habituellement, nous omettons alors le mot réservé. Si vous souhaitez écrire la formule complète lorsque sur une seule ligne, vous devez séparer l'expression conditionnelle et le bloc de programme par then. Comme ceci :when a == 4 then a = 7 endDonc :
case expr0 when expr1, expr2 stmt1 when expr3, expr4 stmt2 else stmt3 endEn gros, quelque chose comme :
_tmp = expr0 if expr1 === _tmp || expr2 === _tmp stmt1 elsif expr3 === _tmp || expr4 === _tmp stmt2 else stmt3 endExemple
#!/usr/bin/ruby
# -*- coding: UTF-8 -*-
$age = 5
case $age
when 0 .. 2
puts "婴儿"
when 3 .. 6
puts "小孩"
when 7 .. 12
puts "child"
when 13 .. 18
puts "少年"
else
puts "其他年龄段的"
end
小孩Lorsque la partie "expression" du cas est omise, la première expression lorsque la partie condition est vraie sera calculée.
foo = false bar = true quu = false case when foo then puts 'foo is true' when bar then puts 'bar is true' when quu then puts 'quu is true' end # 显示 "bar is true"