English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ruby offers several very common conditional structures. Here, we will explain all the conditional statements and the modifiers available in Ruby.
if conditionnel [alors] code... [elsif conditionnel [alors] code...]... [else code...] end
if The expression is used for conditional execution. Value false et nil False, all other values are true. Please note that Ruby uses elsif, not else if and elif.
si conditionnel si vrai, exécutez code. Si conditionnel vrai, exécutez la clause else spécifiée code.
Généralement, nous omettons le mot-clé then. Si vous souhaitez écrire l'expression if complète en une ligne, il est nécessaire de séparer l'expression conditionnelle et le bloc de programme avec then. Voici un exemple :
if a == 4 alors a = 7 end
!#/usr/bin/ruby # -*- 编码: UTF-8 -*- x=1 if x > 2 puts "x est supérieur à 2" elsif x <= 2 et x!=0 puts "x est 1" else puts "Ne pouvons pas savoir la valeur de x" end
Résultat de la sortie de l'exemple ci-dessus :
x est 1
code if condition
Le groupe de mots if modificateur signifie que l'expression de gauche est exécutée uniquement si la condition de droite est vérifiée. C'est-à-dire si conditionnel si vrai, exécutez code.
!#/usr/bin/ruby $debug=1 print "debug\n" if $debug
Résultat de la sortie de l'exemple ci-dessus :
debug
unless conditional [then] code [else code ] end
l'expression unless et l'expression if agissent de manière opposée, c'est-à-dire si conditionnel si faux, exécutez code. Si conditionnel si vrai, exécutez la clause else spécifiée code.
!#/usr/bin/ruby # -*- 编码: UTF-8 -*- x=1 unless x>2 puts "x est inférieur à 2" else puts "x est supérieur à 2" end
以上示例输出结果为:
x est inférieur à 2
code unless conditionnel
si conditionnel si faux, exécutez code.
!#/usr/bin/ruby # -*- 编码: UTF-8 -*- $var = 1 print "1 -- Cette ligne affiche \n" if $var print "2 -- Cette ligne ne s'affiche pas \n" unless $var $var = false print "3 -- Cette ligne affiche \n" unless $var
Résultat de la sortie de l'exemple ci-dessus :
1 -- Cette ligne affiche 3 -- Cette ligne affiche
case expression [when expression [, expression ...] [then] code ]... [else code ] end
case pour le premier expression pour faire la correspondance et puis choisir la branche en fonction du résultat de la correspondance.
Il utilise ===comparaison d'opérateurs when spécifié expressionSi elles sont identiques, exécutez when Une partie du contenu.
Généralement, nous omettons le mot-clé then. Si vous souhaitez écrire l'expression when complète en une ligne, il est nécessaire de séparer l'expression conditionnelle et le bloc de programme avec then. Voici un exemple :
when a == 4 alors a = 7 end
Ainsi :
case expr0 when expr1, expr2 stmt1 when expr3, expr4 stmt2 else stmt3 end
En général, il est similaire à :
_tmp = expr0 if expr1 === _tmp || expr2 === _tmp stmt1 elsif expr3 === _tmp || expr4 === _tmp stmt2 else stmt3 end
!#/usr/bin/ruby # -*- 编码: 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
以上示例输出结果为:
小孩
当 case 的 "表达式" 部分被省略时,将计算第一个 when 条件部分为真的表达式。
foo = false bar = true quu = false case when foo then puts 'foo 是 true' when bar then puts 'bar 是 true' when quu then puts 'quu 是 true' end # 显示 "bar 是 true"