gpt4 book ai didi

ruby-on-rails - 如何在 Rails 应用程序中扩展 Time 类?

转载 作者:数据小太阳 更新时间:2023-10-29 08:38:20 25 4
gpt4 key购买 nike

基本上我想扩展 Time 类来添加这个方法:

def round_to_fifteen()
return Time.at((self.to_i / 900).round * 900)
end

我如何实现这一目标以及我应该将扩展类的文件放在哪里?

最佳答案

按照惯例,这种东西放在lib/中。我只需要初始化程序所需的类似 lib/time_extensions.rb 的东西。

您只需重新打开 Time 类并添加所需的方法,如下所示:

class Time
def round_to_fifteen()
return Time.at((self.to_i / 900).round * 900)
end
end

然后,任何 Time 对象都将具有可用的 #round_to_fifteen 方法。您可以在控制台中看到这一点:

2.0.0p247 :004 > class Time
2.0.0p247 :005?> def round_to_fifteen()
2.0.0p247 :006?> return Time.at((self.to_i / 900).round * 900)
2.0.0p247 :007?> end
2.0.0p247 :008?> end
=> nil
2.0.0p247 :009 > Time.now.round_to_fifteen
=> 2013-12-28 13:15:00 -0700

关于ruby-on-rails - 如何在 Rails 应用程序中扩展 Time 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20818947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com