Setara dengan "lanjutkan" di Ruby


648

Dalam bahasa C dan banyak lainnya, ada continuekata kunci yang, ketika digunakan di dalam loop, melompat ke iterasi loop berikutnya. Apakah ada yang setara dengan continuekata kunci ini di Ruby?


4
lanjutkan tidak "memulai kembali" loop tetapi melompat ke iterasi loop berikutnya.
Matt Crinklaw-Vogt

1
@mlaw: Saya mengedit pertanyaan saya sesuai untuk mencegah kebingungan di masa depan.
Mark Szymanski

7
@ deb duplikat yang Anda temukan ditanya setelah ini.
Droogan

Jawaban:


934

Ya, itu disebut next.

for i in 0..5
   if i < 2
     next
   end
   puts "Value of local variable is #{i}"
end

Ini menghasilkan yang berikut:

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 

13
Inilah yang saya ingat - Ruby menghormati Perl ( next) di atas C ( continue)
Kolonel Panic



42

Dalam untuk-loop dan metode iterator seperti eachdan mapyang nextkata kunci dalam ruby akan memiliki efek melompat ke iterasi berikutnya dari loop (sama seperti continuedi C).

Namun apa yang sebenarnya dilakukannya hanyalah kembali dari blok saat ini. Jadi, Anda dapat menggunakannya dengan metode apa pun yang membutuhkan blok - meskipun tidak ada hubungannya dengan iterasi.


dan pernyataan redo yang bagus
Sigurd



1

Gunakan selanjutnya, itu akan melewati kondisi itu dan sisa kode akan bekerja. Di bawah ini saya telah menyediakan script lengkap dan put out

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()

Output: Masukkan nmber 10

1 2 3 4 6 7 8 9 10

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.