Ruby conditionnelle
Ruby fournit plusieurs constructions conditionnelles communes. Ici, nous allons expliquer toutes les déclarations et modificateurs conditionnelles Ruby disponibles.
Rubysi ... else
grammaire
if conditional [then] code... [elsif conditional [then] code...]... [else code...] end
sil' expression pour l' exécution conditionnelle. Valeurfalseetnilcomme faux, d' autres valeurs sont vraies. S'il vous plaît noter, Ruby utiliser elsif, au lieu d'utiliser d'autre si et elif.
Si laconditionest vraie, alors lecode.Si leconditionnelest pas vrai, clause else spécifié dans lecodeest exécuté.
Nous omettons généralement le mot réservé ensuite. Si vous voulez écrire complète si la formule dans une rangée, vous devez alors être séparé par type et les conditions des blocs de programme. Comme suit:
if a == 4 then a = 7 end
Exemples
#!/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
Des exemples de sortie ci-dessus:
x 是 1
Rubysi modificateurs
grammaire
code if condition
si la phrase signifie que lorsque modifié que si les conditions sur le droit d'établissement si l'exécution de l'expression gauche. Autrement dit, siconditionest vraie, alors lecode.
Exemples
#!/usr/bin/ruby $debug=1 print "debug\n" if $debug
Des exemples de sortie ci-dessus:
debug
Rubysauf si l'instruction
grammaire
unless conditional [then] code [else code ] end
à moins que la formule contraire à action et si, qui est, si leconditionnelest faux, puis d' exécuter ducode.Si laconditionest vraie, clause else spécifié dans lecodeest exécuté.
Exemples
#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 unless x>2 puts "x 小于 2" else puts "x 大于 2" end
L'exemple ci-dessus sortie est:
x 小于 2
Rubymoins modificateurs
grammaire
code unless conditional
Si leconditionnelest faux, d' exécuter ducode.
Exemples
#!/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
Des exemples de sortie ci-dessus:
1 -- 这一行输出 3 -- 这一行输出
Rubydéclaration de cas
grammaire
case expression [when expression [, expression ...] [then] code ]... [else code ] end
cas l'expressiond'un juge premier match, puis se ramifier sur le résultat du match.
Il utilise l'opérateur=== pour comparer lorsquel'expression spécifiée,si elle est compatible, puis la mise en œuvre du contenu lorsquel' article.
Nous omettons généralement le mot réservé ensuite. Si vous voulez écrire complète lorsque la formule dans une rangée, vous devez alors être séparé par type et les conditions des blocs de programme. Comme suit:
when a == 4 then a = 7 end
Par conséquent:
case expr0 when expr1, expr2 stmt1 when expr3, expr4 stmt2 else stmt3 end
Sensiblement similaire:
_tmp = expr0 if expr1 === _tmp || expr2 === _tmp stmt1 elsif expr3 === _tmp || expr4 === _tmp stmt2 else stmt3 end
Exemples
#!/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
L'exemple ci-dessus sortie est:
小孩
Quand une partie «d'expression» de l'affaire est omis, la condition de calcul quand une partie de la véritable expression.
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"