J'utilise ce code pour permettre à l'utilisateur d'entrer des noms pendant que le programme les stocke dans un tableau jusqu'à ce qu'ils entrent une chaîne vide (ils doivent appuyer sur Entrée après chaque nom):
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
Ce code serait beaucoup plus agréable dans une boucle do ... while:
people = []
do
info = gets.chomp
people += [Person.new(info)] if not info.empty?
while not info.empty?
Dans ce code, je n'ai pas à attribuer d'informations à une chaîne aléatoire.
Malheureusement, ce type de boucle ne semble pas exister dans Ruby. Quelqu'un peut-il suggérer une meilleure façon de procéder?
loop do; ...; break if ...; end
?