Saya menggunakan kode ini untuk membiarkan pengguna memasukkan nama sementara program menyimpannya dalam array sampai mereka memasukkan string kosong (mereka harus menekan enter setelah setiap nama):
people = []
info = 'a' # must fill variable with something, otherwise loop won't execute
while not info.empty?
info = gets.chomp
people += [Person.new(info)] if not info.empty?
end
Kode ini akan terlihat jauh lebih bagus di do ... while:
people = []
do
info = gets.chomp
people += [Person.new(info)] if not info.empty?
while not info.empty?
Dalam kode ini saya tidak perlu menetapkan info ke beberapa string acak.
Sayangnya jenis loop ini tampaknya tidak ada di Ruby. Adakah yang bisa menyarankan cara yang lebih baik untuk melakukan ini?
loop do; ...; break if ...; end
,?