Difference between . and #



在Ruby中,这两者之间有什么区别(在代码中):

  • Class.method
  • Class#method

这是一种命名约定。

  • 对实例方法使用井#method
  • 对类方法使用点.method

请参阅: 如何命名 RSpec 描述方法的块

哈希格式 (Class#method) 不是有效的 ruby,但在文档中用于描述实例方法。

类方法通常使用双冒号 (Class::method) 进行记录。

您将在 ruby 文档中看到两者的示例(例如 http://www.ruby-doc.org/core-1.9.3/String.html)

当实际调用类方法(Class.method)时,点格式在代码中使用,尽管我看到有些人(不幸的是)在文档中将其与双冒号或哈希互换使用。

Class#method不是

有效的代码。它仅用于文档。方法应为实例方法。

Class.method或object.method是属于对象的实际方法。类也是一个对象。它是有效的代码。

最新更新