En C y en muchos otros lenguajes, hay una continue
palabra clave que, cuando se usa dentro de un ciclo, salta a la siguiente iteración del ciclo. ¿Hay algún equivalente de esta continue
palabra clave en Ruby?
En C y en muchos otros lenguajes, hay una continue
palabra clave que, cuando se usa dentro de un ciclo, salta a la siguiente iteración del ciclo. ¿Hay algún equivalente de esta continue
palabra 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 redo
qué rehace la iteración actual .
redo
comando 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 each
y map
la next
palabra clave en ruby tendrá el efecto de saltar a la siguiente iteración del bucle (igual que continue
en 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: redo
y 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