En C et dans de nombreux autres langages, il existe un continuemot-clé qui, lorsqu'il est utilisé à l'intérieur d'une boucle, passe à l'itération suivante de la boucle. Y a-t-il un équivalent de ce continuemot - clé dans Ruby?
En C et dans de nombreux autres langages, il existe un continuemot-clé qui, lorsqu'il est utilisé à l'intérieur d'une boucle, passe à l'itération suivante de la boucle. Y a-t-il un équivalent de ce continuemot - clé dans Ruby?
Réponses:
Oui, ça s'appelle next.
for i in 0..5
if i < 2
next
end
puts "Value of local variable is #{i}"
end
Cela génère les éléments suivants:
Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5
=> 0..5
next) au-dessus de C ( continue)
next
Regardez aussi redoqui Répète l' actuelle itération.
redocommande de Perl (ou son essence, de toute façon). Pour l'interprétation de Ruby, recherchez «refaire» dans cette page .
Écrire la réponse d' Ian Purton d' une manière un peu plus idiomatique:
(1..5).each do |x|
next if x < 2
puts x
end
Tirages:
2
3
4
5
Les boucles for internes et les méthodes d'itérateur comme eachet maple nextmot - clé dans ruby auront pour effet de passer à l'itération suivante de la boucle (comme continueen C).
Cependant, ce qu'il fait est juste de revenir du bloc actuel. Vous pouvez donc l'utiliser avec n'importe quelle méthode qui prend un bloc - même si cela n'a rien à voir avec l'itération.
Ruby a deux autres mots clés de contrôle de boucle / itération: redoet retry.
En savoir plus sur eux et la différence entre eux, à Ruby QuickTips .
Utilisez ensuite, il contournera cette condition et le reste du code fonctionnera. Ci-dessous, j'ai fourni le script complet et mis
class TestBreak
puts " Enter the nmber"
no= gets.to_i
for i in 1..no
if(i==5)
next
else
puts i
end
end
end
obj=TestBreak.new()
Sortie: entrez le nmber 10
1 2 3 4 6 7 8 9 10