Używam tego kodu, aby pozwolić użytkownikowi na wprowadzanie nazw, podczas gdy program przechowuje je w tablicy, dopóki nie wprowadzi pustego ciągu (muszą nacisnąć Enter po każdej nazwie):
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
Ten kod wyglądałby znacznie ładniej w pętli do ... while:
people = []
do
info = gets.chomp
people += [Person.new(info)] if not info.empty?
while not info.empty?
W tym kodzie nie muszę przypisywać informacji do jakiegoś losowego ciągu.
Niestety ten typ pętli nie istnieje w Ruby. Czy ktoś może zaproponować lepszy sposób na zrobienie tego?
loop do; ...; break if ...; end
?