Ari*_*N3o 1 ruby ruby-on-rails date helper
正如你们可能已经猜到的那样,这是一个面试问题.但我不会透露哪家公司.我被要求实施
1.day.ago
Run Code Online (Sandbox Code Playgroud)
在Ruby中.这是Rails中的日期帮助器,但Ruby中不存在此功能.
所有它*返回一天中的秒数,乘以self:
class Fixnum
def day
self * (60 * 60 * 24) # seconds * minutes * hours
end
end
# 10.days => 'self' is 10, so 10 * 60 * 60 * 24
Run Code Online (Sandbox Code Playgroud)
然后,.ago从Time.now以下几秒减去:
class Fixnum
def ago
Time.now - self
end
end
# 10.days.ago == Time.now - (10 * 60 * 60 * 24)
Run Code Online (Sandbox Code Playgroud)
*这实际上不是全部; 实际上它返回一个代表给定持续时间的代理对象.数学也复杂得多