Я використовую цей код, щоб дозволити користувачеві вводити імена, поки програма зберігає їх у масиві, поки він не введе порожній рядок (вони повинні натиснути клавішу 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
Цей код буде виглядати набагато приємніше у виконанні ... циклу:
people = []
do
info = gets.chomp
people += [Person.new(info)] if not info.empty?
while not info.empty?
У цьому коді мені не потрібно присвоювати інформацію якомусь випадковому рядку.
На жаль, подібний цикл, схоже, не існує в Ruby. Хтось може запропонувати кращий спосіб зробити це?
loop do; ...; break if ...; end
?