Obtenez de l'âge de la personne en Ruby

J'aimerais avoir l'âge de la personne de son anniversaire. now - birthday /365 ne fonctionne pas, parce que quelques années de 366 jours. Je suis venu avec le code suivant:

now = Date.today
year = now.year - birth_date.year

if (date+year.year) > now
  year = year - 1
end

Est-il plus Ruby new'ish façon de calculer l'âge?

  • Double de stackoverflow.com/questions/9/...
  • pas vraiment, cette question est pour C#
  • J'aime cette question, car elle met en évidence l'idée qu'il y a "plus de Rubis" et "moins Ruby" façons de faire les choses. Il est important de ne pas seulement être logiquement correcte, ce qui vous pourriez être en copiant le C# de réponse), mais aussi stylistiquement correct. Et Adinochestva la réponse de fait bon usage de Ruby idiome.
  • Vous devez mettre à jour les accepté de répondre à la réponse de @philnash. Sa prend en compte les années bissextiles.
InformationsquelleAutor Mantas | 2009-05-04