我找到了一种计算铁轨使用年限的方法.有人能解释一下这个代码吗



对不起,我是铁路新手。我刚刚在一个模型中找到了一种计算年龄的方法:Get person';Ruby 中的年龄

功能如下:

def age
  now = Time.now.utc
  now.year - birthday.year - (birthday.to_time.change(:year => now.year) > now ? 1 : 0)
end

有人能解释一下第三行发生了什么吗?我不能理解:

(birthday.to_time.change(:year => now.year) > now ? 1 : 0)

这句话只是想检查当前年份的生日是否已经过去。如果有,那么

(birthday.to_time.change(:year => now.year) > now ? 1 : 0)

将等于CCD_ 2。否则为CCD_ 3。然后像这样减去:

now.year - birthday.year - 1now.year - birthday.year - 0

希望这能澄清你的疑虑。

只是一个建议,我宁愿使用irb,把上面的代码分解成更小的部分,看看每个部分到底为自己做了什么。这将帮助我更好地理解事物。

相关内容

最新更新