English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

判断条件 Ruby

Ruby offers several very common conditional structures. Here, we will explain all the conditional statements and the modifiers available in Ruby.

Ruby if...else instruction

grammaire

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

Exemple en ligne

!#/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

Ruby if modificateur

grammaire

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.

Exemple en ligne

!#/usr/bin/ruby
 
$debug=1
print "debug\n" if $debug

Résultat de la sortie de l'exemple ci-dessus :

debug

Ruby unless instruction

grammaire

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.

Exemple en ligne

!#/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

Ruby unless modificateur

grammaire

code unless conditionnel

si conditionnel si faux, exécutez code.

Exemple en ligne

!#/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

Ruby case instruction

grammaire

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

Exemple en ligne

!#/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"