Estou usando esse código para permitir que o usuário digite nomes enquanto o programa os armazena em uma matriz até que eles digitam uma string vazia (eles devem pressionar enter após cada 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
Esse código ficaria muito melhor em um loop do ... while:
people = []
do
info = gets.chomp
people += [Person.new(info)] if not info.empty?
while not info.empty?
Nesse código, não preciso atribuir informações a uma sequência aleatória.
Infelizmente, esse tipo de loop parece não existir no Ruby. Alguém pode sugerir uma maneira melhor de fazer isso?
loop do; ...; break if ...; end
?