Latest web development tutorials

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"