Est-il un “do ... while” boucle en Ruby?

Je suis en utilisant ce code pour permettre à l'utilisateur d'entrer les noms de tout le programme stocke dans un tableau, jusqu'à ce qu'ils entrent dans une chaîne vide (ils doivent appuyez 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 aurait l'air 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 info certaine chaîne de caractères aléatoires.

Malheureusement, ce type de boucle ne semble pas exister en Ruby. Quelqu'un peut-il suggérer une meilleure façon de faire cela?

  • Je pense que la normale tandis que la boucle sera plus joli et plus facile à lire.
  • Ruten est-il possible que vous seriez intéressés par un changement de la accepté de répondre à Siwei Shen réponse, loop do; ...; break if ...; end?
InformationsquelleAutor Jeremy Ruten | 2008-09-25