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?

Mark Szymanski
sumber
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 
Ian Purton
sumber
13
Inilah yang saya ingat - Ruby menghormati Perl ( next) di atas C ( continue)
Kolonel Panic
111

next

juga, lihat redomana yang mengulangi iterasi saat ini .

Nick Moore
sumber
39
... karena ruby ​​itu rad seperti itu.
matt walters
1
Ruby meminjam banyak dari Perl, termasuk redoperintah Perl (atau esensinya, sih). Untuk interpretasi Ruby, cari "redo" di halaman ini .
MarkDBlackwell
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.

sepp2k
sumber
dan pernyataan redo yang bagus
Sigurd
9

Saya pikir ini disebut selanjutnya .

idursun
sumber
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

Rakesh Kumar
sumber