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?
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?
Jawaban:
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
next) di atas C ( continue)
next
juga, lihat redomana yang mengulangi iterasi saat ini .
redoperintah Perl (atau esensinya, sih). Untuk interpretasi Ruby, cari "redo" di halaman ini .
Menulis jawaban Ian Purton dengan cara yang sedikit lebih idiomatis:
(1..5).each do |x|
next if x < 2
puts x
end
Cetakan:
2
3
4
5
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.
Ruby memiliki dua kata kunci kontrol pengulangan / iterasi lainnya: redodan retry.
Baca lebih lanjut tentang mereka, dan perbedaannya, di Ruby QuickTips .
Saya pikir ini disebut selanjutnya .
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