Tôi đang sử dụng mã này để cho phép người dùng nhập tên trong khi chương trình lưu trữ chúng trong một mảng cho đến khi họ nhập một chuỗi trống (họ phải nhấn enter sau mỗi tên):
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
Mã này sẽ trông đẹp hơn nhiều trong một vòng lặp do ... while:
people = []
do
info = gets.chomp
people += [Person.new(info)] if not info.empty?
while not info.empty?
Trong mã này tôi không phải gán thông tin cho một số chuỗi ngẫu nhiên.
Thật không may, loại vòng lặp này dường như không tồn tại trong Ruby. Bất cứ ai có thể đề nghị một cách tốt hơn để làm điều này?
loop do; ...; break if ...; end
không?