Ruby Conditionnel

Ruby fournit plusieurs structures conditionnelles courantes. Ici, nous expliquerons toutes les instructions conditionnelles et les modificateurs disponibles dans Ruby.

Ruby if...elseInstruction

Syntaxe

if condition [then] code... [elsif condition [then] code...]... [else code...] end

ifUne expression est utilisée pour l'exécution conditionnelle. La valeurfalseetnilfalse est false, toutes les autres valeurs sont true. Notez que Ruby utilise elsif, et non else if ou elif.

Siconditionest vraie, alors exécutezcode. Siconditionn'est pas vraie, alors exécutez celui spécifié dans la clause elsecode。

Habituellement, on omet le mot réservé then. Si vous voulez écrire une expression if complète sur une ligne, vous devez séparer la condition du bloc de programme avec then. Comme montré ci-dessous :

if a == 4 then a = 7 end

Exemple

#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 if x > 2 puts "x est supérieur à 2" elsif x <= 2 and x!=0 puts "x vaut 1" else puts "La valeur de x ne peut pas être déterminée" end

Essayez-le »

L'exemple ci-dessus produit :

x 是 1

Ruby ifModificateur

Syntaxe

code if condition

La phrase avec le modificateur if signifie que l'expression à gauche du if n'est exécutée que lorsque la condition à droite du if est vraie. C'est-à-dire, ifconditionalest vrai, alors exécutez lecode。

Exemple

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

Essayez-le »

L'exemple ci-dessus produit :

debug

Ruby unlessInstruction

Syntaxe

unless condition [alors] code [else code ] end

L'expression unless fonctionne à l'opposé de l'expression if, c'est-à-dire que siconditionest fausse, alors exécutezcode. Siconditionest vraie, alors exécutez celui spécifié dans la clause elsecode。

Exemple

#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 unless x>2 puts "x est inférieur ou égal à 2" else puts "x est supérieur à 2" end

Essayez-le »

L'exemple ci-dessus produit :

x 小于或等于 2

Ruby unlessModificateur

Syntaxe

code unless condition

Siconditionest fausse, alors exécutezcode。

Exemple

#!/usr/bin/ruby # -*- coding: UTF-8 -*- $var = 1 print "1 -- Cette ligne affiche\n" if $var print "2 -- Cette ligne n'affiche pas\n" unless $var $var = false print "3 -- Cette ligne affiche\n" unless $var

Essayez-le »

L'exemple ci-dessus produit :

1 -- 这一行输出
3 -- 这一行输出

Ruby caseInstruction

Syntaxe

case expression [when expression [, expression ...] [then] code ]... [else code ] end

case effectue d'abord unexpressionjugement de correspondance, puis sélectionne une branche en fonction du résultat de la correspondance.

Il utilise l'===opérateur pour comparerwhenl'expression spécifiée, et s'ils correspondent, alors exécuterwhenle contenu de cette partie.

Habituellement, nous omettons le mot réservé then. Si vous voulez écrire une expression when complète sur une ligne, vous devez séparer la condition du bloc de programme avec then. Comme montré ci-dessous :

when a == 4 then a = 7 end

Par conséquent :

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

Fondamentalement similaire à :

_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 "Baby" when 3 .. 6 puts "Enfant" when 7 .. 12 puts "enfant" when 13 .. 18 puts "Juvénile" else puts "Autre âge" end

Essayez-le »

L'exemple ci-dessus produit :

child

Lorsque la partie "expression" de case est omise, la première partie de condition when qui est vraie est évaluée.

foo = false bar = true quu = false case when foo then puts 'foo est vrai' when bar then puts 'bar est vrai' when quu then puts 'quu est vrai' end #Affiche 'bar est vrai'
Autres extensions