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 end

Donc :

case expr0
when expr1, expr2
   stmt1
when expr3, expr4
   stmt2
else
   stmt3
end

En gros, quelque chose comme :

_tmp = expr0
if expr1 === _tmp || expr2 === _tmp
   stmt1
elsif expr3 === _tmp || expr4 === _tmp
   stmt2
else
   stmt3
end

Exemple

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


Ci-dessus L'exemple le résultat de sortie est :

小孩

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"