【问题标题】:Where is Time.advance documented?Time.advance 记录在哪里?
【发布时间】:2010-10-11 15:55:56
【问题描述】:

在网上四处寻找,我发现 Ruby Time 类有 Time#advance。这是在哪里记录的?我在 Ruby API 文档 here 中没有看到它。

API 文档的搜索功能表明在任何地方都没有称为“advance”的方法。

不过,在 IRB...

>> t = Time.now
=> Thu Mar 05 16:08:57 -0800 2009
>> t.advance :months => 1
=> Sun Apr 05 16:08:57 -0700 2009

让我困惑的另一件事...在 time 类的文档中,它说的第一句话是“实现 time.rb 库文档中描述的 Time 类的扩展。”

他们的意思是“time.rb 库实现了这个类的扩展吗?”

我想这可能就是 Time#advance 的来源,但我发现的只是this

【问题讨论】:

    标签: ruby api time


    【解决方案1】:

    它实际上在ActiveSupport::CoreExtensions::Numeric::Time 模块中。

    这是我对 Ruby 的抱怨之一——不可能为对象的每个方法找到全面的文档,因为方法列表会根据上下文而变化。强大,但令人恼火。

    我正在开发一个我最初没有编写的大型 Rails 应用程序,有时我在谷歌上搜索了一个我不认识的方法,几分钟后才意识到......是的,以前的开发人员在/库。

    【讨论】:

    • 在 Rails 外使用:在终端:gem install activesupport,在 x.rb:require 'active_support/time'
    【解决方案2】:

    看起来advance 不是该语言的核心部分,因此它缺乏文档。看起来是 Rails 中包含的包的一部分,即 ActiveSupport 模块。

    文档在这里: http://api.rubyonrails.org/classes/Time.html#method-i-advance

    【讨论】:

    • 这有帮助!谢谢!
    【解决方案3】:

    这与 Time 的许多其他扩展一起,是 ActiveSupport 的一部分,您可能作为 Rails 的一部分获得了它,尽管该库本身就完全可用。

    documentation

    【讨论】:

      【解决方案4】:

      这是第二个问题的答案。

      在 time 类的文档中,它说的第一句话是“实现 time.rb 库文档中描述的 Time 类的扩展。”

      他们的意思是“time.rb 库实现了这个类的扩展吗?”

      很多地方都开设了Time类:

      • 在 Ruby 中:
        • time.c
        • lib/date.rb
        • lib/rss/rss.rb
        • lib/time.rb
        • lib/yaml/rubytypes.rb
      • 在 Rails 中:
        • activesupport/lib/active-support/core-ext/numeric/time.rb

      APIdock 区分 Ruby 和 Rails,但是当在一个项目中多次定义单个元素时,它会“组合”单个元素的 RDoc。如果单个元素有多个 RDoc(如本例中的 Time 类),则只显示其中一个,其他不显示。这可能会令人困惑。

      这段文字:

      实现对 time.rb 库文档中描述的 Time 类的扩展。

      ... 来自 lib/time.rb。它来自标准库并扩展了核心库的 Time 类(在 time.c 中定义)。所以,你需要打电话...

      require 'time'
      

      ... 使用 time.rb 中定义的扩展。否则只能使用time.c中定义的方法。

      【讨论】:

        猜你喜欢
        • 2018-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-15
        • 2017-05-20
        • 2015-08-28
        • 1970-01-01
        相关资源
        最近更新 更多