En C y en muchos otros lenguajes, hay una continuepalabra clave que, cuando se usa dentro de un ciclo, salta a la siguiente iteración del ciclo. ¿Hay algún equivalente de esta continuepalabra clave en Ruby?
En C y en muchos otros lenguajes, hay una continuepalabra clave que, cuando se usa dentro de un ciclo, salta a la siguiente iteración del ciclo. ¿Hay algún equivalente de esta continuepalabra clave en Ruby?
Respuestas:
Si, se llama next.
for i in 0..5
if i < 2
next
end
puts "Value of local variable is #{i}"
end
Esto genera lo siguiente:
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) por encima de C ( continue)
next
Además, observe redoqué rehace la iteración actual .
redocomando de Perl (o su esencia, de todos modos). Para la interpretación de Ruby, busque "rehacer" dentro de esta página .
Escribir la respuesta de Ian Purton de una manera un poco más idiomática:
(1..5).each do |x|
next if x < 2
puts x
end
Huellas dactilares:
2
3
4
5
Dentro de los bucles for y los métodos de iterador como eachy mapla nextpalabra clave en ruby tendrá el efecto de saltar a la siguiente iteración del bucle (igual que continueen C).
Sin embargo, lo que realmente hace es regresar del bloque actual. Por lo tanto, puede usarlo con cualquier método que tome un bloque, incluso si no tiene nada que ver con la iteración.
Ruby tiene otras dos palabras clave de control de bucle / iteración: redoy retry.
Lea más sobre ellos y la diferencia entre ellos, en Ruby QuickTips .
Creo que se llama a continuación .
Use el siguiente, omitirá esa condición y el resto del código funcionará. A continuación he proporcionado el guión completo y puesto fuera
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()
Salida: ingrese el número 10
1 2 3 4 6 7 8 9 10