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 ............................