En C et dans de nombreux autres langages, il existe un continue
mot-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 continue
mot - clé dans Ruby?
En C et dans de nombreux autres langages, il existe un continue
mot-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 continue
mot - 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 redo
qui Répète l' actuelle itération.
redo
commande 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 each
et map
le next
mot - clé dans ruby auront pour effet de passer à l'itération suivante de la boucle (comme continue
en 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: redo
et 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