In C e in molte altre lingue, esiste una parola chiave continue
che, se utilizzata all'interno di un ciclo, salta alla successiva iterazione del ciclo. Esiste un equivalente di questa parola chiave continue
in Ruby?Equivalente di "continua" in Ruby
risposta
Sì, si chiama next
.
for i in 0..5
if i < 2
next
end
puts "Value of local variable is #{i}"
end
Questa emette il seguente:
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
Questo è il modo in cui mi ricordo - Ruby rispetta Perl (' next') sopra C ('continue') –
Inside-loops e metodi iteratore come each
e map
la parola next
in rubino avrà l'effetto di saltare alla successiva iterazione del ciclo (stesso come continue
in C).
Tuttavia, ciò che effettivamente fa è solo tornare dal blocco corrente. Quindi puoi usarlo con qualsiasi metodo che prende un blocco - anche se non ha nulla a che fare con l'iterazione.
Penso che si chiami next.
next
inoltre, cerca redo
che rifà il corrente iterazione.
... perché ruby is rad come quello. –
Ruby ha due altre parole chiave di controllo loop/iteration: redo
e. Read more about them, and the difference between them, at Ruby QuickTips.
Scrivendo Ian Purton's answer in un modo un po 'più idiomatica:
(1..5).each do |x|
next if x < 2
puts x
end
Stampe:
2
3
4
5
- 1. equivalente di “passaggio” in Ruby
- 2. Esiste un equivalente a "continua" in Parallel.ForEach?
- 3. equivalente AES in Ruby openssl?
- 4. Ruby equivalente all'aiuto di Python()?
- 5. Ruby equivalente a $ $ di PHP
- 6. Equivalente di Ruby Enumerable # each_slice in Javascript?
- 7. Equivalente di cURL per Ruby?
- 8. Ruby file_get_contents equivalente
- 9. Pygame equivalente per Ruby?
- 10. url encode equivalente in ruby on rails
- 11. `se __name__ == '__main __'` equivalente in Ruby
- 12. Equivalente ad Array. Alcuni in ruby / rails
- 13. Ruby LESS gemma equivalente in Python
- 14. Ruby/Rails hanno un equivalente ++?
- 15. jQuery equivalente del metodo .send() di Ruby
- 16. Ruby equivalente di Groovy's Elvis (? :) operatore?
- 17. ruby, ruby equivalente di java wait/notify/notifyAll
- 18. Esiste un equivalente Python simboli di Ruby?
- 19. Equivalente matrice ruby di record.where attivo (criteri)
- 20. Javascript equivalente a `send` di Ruby
- 21. Ruby equivalente di dati Perl :: Dumper
- 22. Metodo di classe in Ruby (equivalente statico in JAVA)
- 23. Continua a leggere da STDOUT del processo esterno in Ruby
- 24. Esiste un equivalente in C# a `reply_to? 'Di Ruby?
- 25. Equivalente di Ruby method_missing in Objective C/iOS
- 26. Esiste un equivalente in Javascript/Coffeescript/jQuery nell'invio di Ruby?
- 27. Test di integrazione continua per Ruby on Rails con Jenkins
- 28. Costrutto equivalente in PHP a `__END__` di Ruby o` __DATA__` di Ruby
- 29. Equivalente Groovy dell'oggetto Ruby n. Tap
- 30. Python equivalente al metodo Ruby Array.each
Continua non si "Restart" i passanti, ma salta la prossima iterazione del ciclo. –
@mlaw: ho modificato la mia domanda di conseguenza per evitare confusione futura. –
possibile duplicato di [In Ruby, come faccio a saltare un ciclo in un ciclo .each, simile a 'continua'] (http://stackoverflow.com/questions/4230322/in-ruby-how-do-i-skip -a-loop-in-a-each-loop-similiar-to-continue) – dbr