Sto usando questo codice per consentire all'utente di inserire i nomi mentre il programma li memorizza in un array fino a quando non inseriscono una stringa vuota (devono premere Invio dopo ogni nome):
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
Questo codice sarebbe molto più bello in un do ... while loop:
people = []
do
info = gets.chomp
people += [Person.new(info)] if not info.empty?
while not info.empty?
In questo codice non devo assegnare informazioni ad alcuna stringa casuale.
Sfortunatamente questo tipo di loop non sembra esistere in Ruby. Qualcuno può suggerire un modo migliore per farlo?
loop do; ...; break if ...; end
?