In C e in molte altre lingue, esiste una continueparola chiave che, se utilizzata all'interno di un ciclo, passa alla successiva iterazione del ciclo. Esiste un equivalente di questa continueparola chiave in Ruby?
In C e in molte altre lingue, esiste una continueparola chiave che, se utilizzata all'interno di un ciclo, passa alla successiva iterazione del ciclo. Esiste un equivalente di questa continueparola chiave in Ruby?
Risposte:
Sì, si chiama next.
for i in 0..5
if i < 2
next
end
puts "Value of local variable is #{i}"
end
Ciò genera quanto segue:
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) sopra C ( continue)
next
inoltre, guarda a redoquale ripetizione dell'iterazione corrente .
redocomando di Perl (o la sua essenza, comunque). Per l'interpretazione di Ruby, cerca "Ripeti" in questa pagina .
Scrivere la risposta di Ian Purton in un modo leggermente più idiomatico:
(1..5).each do |x|
next if x < 2
puts x
end
stampe:
2
3
4
5
All'interno di for-loop e metodi iteratori come eache mapla nextparola chiave in ruby avrà l'effetto di saltare alla successiva iterazione del loop (come continuein C).
Tuttavia, ciò che effettivamente fa è solo tornare dal blocco corrente. Quindi puoi usarlo con qualsiasi metodo che richiede un blocco, anche se non ha nulla a che fare con l'iterazione.
Ruby ha altre due parole chiave di controllo loop / iterazione: redoe retry.
Maggiori informazioni su di loro e la differenza tra loro, su Ruby QuickTips .
Utilizzare successivamente, ignorerà tale condizione e il resto del codice funzionerà. Di seguito ho fornito lo script completo e il prodotto
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()
Uscita: inserire il nmber 10
1 2 3 4 6 7 8 9 10