べるべる研究日誌

なんでもやる系エンジニアの日々

生年月日から年齢を計算2

昨日のエントリーに対して「これはひどい」タグがついていてちょっと凹む今日この頃。何がひどいのかがはっきり書かれていないのですが、コメントした人は元記事も含めてDateを整数処理している辺りを問題にしているようです。Rubyにも見識のある方の様なので、つまらない物(Dateは日付型であって人物型では無いわけだし...)をDateに追加した辺りも「ひどい」だったのかな。失礼しました。

んじゃ、Date型の処理系の発想だったらどうするのかなぁ...と思って考えたけどこんな感じでしょうか。(懲りずにDateに追加するオイラでした)

class Date
  def age(calcDay = Time.now)
    age = calcDay.year - self.year
    return age -1 if calcDay.month < self.month
    return age -1 if calcDay.month == self.month && calcDay.day < self.day
    return age
  end
end

#世の中のコードは結構すごいですよw