Latest web development tutorials

cycle de Ruby

Rubis dans la boucle pour effectuer le même bloc de code plusieurs fois. Cette section détaillera toutes les boucles de soutien Ruby.

Rubywhile

grammaire

while conditional [do]
   code
end

ou

<pre>
while conditional [:]
   code
end

Lorsque laconditionest vraie, il exécute lecode.

Ou faire la syntaxe: vous pouvez être omis. Mais pour écrire une formule alors que dans la ligne, ou vous devez faire: expression ou d'un programme en dehors du conditionnel blocs.

Exemples

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

$i = 0
$num = 5

while $i < $num  do
   puts("在循环语句中 i = #$i" )
   $i +=1
end

L'exemple ci-dessus sortie est:

在循环语句中 i = 0
在循环语句中 i = 1
在循环语句中 i = 2
在循环语句中 i = 3
在循环语句中 i = 4

Rubytout modificateur

grammaire

code while condition

或者

begin 
  code 
end while conditional

Lorsque laconditionest vraie, il exécute lecode.

Sialors quedans un modificateur sanssauvetageou tardcommencerdéclaration assurer laclause,le code sera exécutée une fois avant que le jugementconditionnel.

Exemples

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

$i = 0
$num = 5
begin
   puts("在循环语句中 i = #$i" )
   $i +=1
end while $i < $num

L'exemple ci-dessus sortie est:

在循环语句中 i = 0
在循环语句中 i = 1
在循环语句中 i = 2
在循环语句中 i = 3
在循环语句中 i = 4

Rubyjusqu'à déclarations

until conditional [do]
   code
end

Lorsque leconditionnelest faux, d' exécuter ducode.

Syntaxe do peut être omise. Mais pour écrire jusqu'à ce que la formule, vous devez faire l'expression ou de programme blocs conditionnels en dehors de la ligne.

Exemples

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

$i = 0
$num = 5

until $i > $num  do
   puts("在循环语句中 i = #$i" )
   $i +=1;
end

L'exemple ci-dessus sortie est:

在循环语句中 i = 0
在循环语句中 i = 1
在循环语句中 i = 2
在循环语句中 i = 3
在循环语句中 i = 4
在循环语句中 i = 5

Rubyjusqu'à modificateurs

grammaire

code until conditional

或者

begin
   code
end until conditional

Lorsque leconditionnelest faux, d' exécuter ducode.

Sijusqu'àprésent modificateur dans une déclarationcommençantpas desauvetageou tard veiller à laclause,le code sera exécutée une fois avant que le jugementconditionnel.

Exemples

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

$i = 0
$num = 5
begin
   puts("在循环语句中 i = #$i" )
   $i +=1;
end until $i > $num

L'exemple ci-dessus sortie est:

在循环语句中 i = 0
在循环语句中 i = 1
在循环语句中 i = 2
在循环语句中 i = 3
在循环语句中 i = 4
在循环语句中 i = 5

Rubypour la déclaration

grammaire

for variable [, variable ...] in expression [do]
   code
end

Première expression de calcul pour obtenir un objet, alorsl'expressionpour chaque élément séparément uncode.

Exemples

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 0..5
   puts "局部变量的值为 #{i}"
end

Ici, nous avons défini la gamme 0..5. Déclaration for i in 0..5 permettre à la valeur de i 0-5 (avec 5).

L'exemple ci-dessus sortie est:

局部变量的值为 0
局部变量的值为 1
局部变量的值为 2
局部变量的值为 3
局部变量的值为 4
局部变量的值为 5

... dansla boucle est presque exactement équivalente à:

(expression).each do |variable[, variable...]| code end

Cependant, pour la boucle ne crée pas un nouveau champ d'application pour les variables locales.

Syntaxe do peut être omise. Mais à écrire pour la formule dans une rangée, alors vous devez faire expression ou programme blocs en dehors conditionnelles.

Exemples

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

(0..5).each do |i|
   puts "局部变量的值为 #{i}"
end

L'exemple ci-dessus sortie est:

局部变量的值为 0
局部变量的值为 1
局部变量的值为 2
局部变量的值为 3
局部变量的值为 4
局部变量的值为 5

Rubyinstruction break

grammaire

break

Fin de la boucle la plus interne. Si vous avez invoqué dans le bloc, le bloc est lié à la terminaison (la méthode retourne nil).

Exemples

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 0..5
   if i > 2 then
      break
   end
   puts "局部变量的值为 #{i}"
end

L'exemple ci-dessus sortie est:

局部变量的值为 0
局部变量的值为 1
局部变量的值为 2

Rubydéclaration suivante

grammaire

next

Aller à la prochaine itération de la boucle. Si vous appelez dans le bloc se termine le bloc d'exécution(rendementexpression renvoie nil).

Exemples

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 0..5
   if i < 2 then
      next
   end
   puts "局部变量的值为 #{i}"
end

L'exemple ci-dessus sortie est:

局部变量的值为 2
局部变量的值为 3
局部变量的值为 4
局部变量的值为 5

Rubydéclaration redo

grammaire

redo

Redémarrage de l'itération de boucle la plus interne, la condition de boucle est pas cochée. Si vous appelez dans le bloc, puis redémarrez lerendementouappel.

Exemples

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 0..5
   if i < 2 then
      puts "局部变量的值为 #{i}"
      redo
   end
end

Cela produit les résultats suivants, et entrera dans une boucle infinie:

局部变量的值为 0
局部变量的值为 0
............................

Rubyinstruction retry

NOTE: 1.9 et versions ultérieures ne prennent pas en charge l'utilisation nouvelle tentative dans une boucle.

grammaire

retry

Siretryapparaît dans l'expression commencer clause de sauvetage, depuis le début du corps commencent à redémarrer.

begin
   do_something   # 抛出的异常
rescue
   # 处理错误
   retry          # 重新从 begin 开始
end

Si retry apparaît dans l'itération, ou pour l'expression dans le corps, réitère les appels au sein du bloc. paramètres de Iteration réévaluées.

for i in 1..5
   retry if some_condition # 重新从 i == 1 开始
end

Exemples

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 1..5
   retry if  i > 2
   puts "局部变量的值为 #{i}"
end

Cela produit les résultats suivants, et entrera dans une boucle infinie:

局部变量的值为 1
局部变量的值为 2
局部变量的值为 1
局部变量的值为 2
局部变量的值为 1
局部变量的值为 2
............................