In C e in molte altre lingue, esiste una continue
parola chiave che, se utilizzata all'interno di un ciclo, passa alla successiva iterazione del ciclo. Esiste un equivalente di questa continue
parola chiave in Ruby?
In C e in molte altre lingue, esiste una continue
parola chiave che, se utilizzata all'interno di un ciclo, passa alla successiva iterazione del ciclo. Esiste un equivalente di questa continue
parola 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 redo
quale ripetizione dell'iterazione corrente .
redo
comando 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 each
e map
la next
parola chiave in ruby avrà l'effetto di saltare alla successiva iterazione del loop (come continue
in 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: redo
e 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