Я использую этот код, чтобы позволить пользователю вводить в именах, пока программа сохраняет их в массиве, пока они не войдут в пустую строку (они должны нажать клавишу ВВОД после каждого имени):Есть ли цикл «do ... while» в Ruby?
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
Этот код будет выглядеть гораздо лучше в то время ... while loop:
people = []
do
info = gets.chomp
people += [Person.new(info)] if not info.empty?
while not info.empty?
В этом коде мне не нужно присваивать информацию некоторой случайной строке.
К сожалению, этот тип цикла, похоже, не существует в Ruby. Может ли кто-нибудь предложить лучший способ сделать это?
Я думаю, что обычный цикл while выглядит лучше, и его легче читать. – Magne 2013-11-14 10:57:50
@Jeremy Ruten есть ли шанс, что вы были бы заинтересованы в изменении принятого ответа на ответ Siwei Shen: `loop do; ...; перерыв, если ...; end`? – 2014-05-03 22:08:55