Я использую этот код, чтобы пользователь вводил имена, пока программа хранит их в массиве до тех пор, пока они не войдут в пустую строку (они должны нажать enter после каждого имени):
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
Этот код будет выглядеть намного приятнее в do... while loop:
people = []
do
info = gets.chomp
people += [Person.new(info)] if not info.empty?
while not info.empty?
В этом коде мне не нужно присваивать информацию некоторой случайной строке.
К сожалению, этот тип цикла, похоже, не существует в Ruby. Может ли кто-нибудь предложить лучший способ сделать это?