Ruby 两者之间的区别。及#

Ruby 两者之间的区别。及#,ruby,rspec,Ruby,Rspec,在Ruby中,这两者之间有什么区别(在代码中): Class.method Class#方法 这是一种命名约定 使用pound#method作为示例方法 对类方法使用点.method 请参阅:类#方法不是有效代码。它仅在文档中使用。方法应该是实例方法 Class.method或object.method是属于该对象的实际方法。类也是一个对象。它是有效的代码。哈希格式(类#方法)不是有效的ruby,但在文档中用于描述实例方法 类方法通常使用双冒号(Class::method)记录 您将在ru

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

  • Class.method
  • Class#方法

这是一种命名约定

  • 使用pound
    #method
    作为示例方法
  • 对类方法使用点
    .method
请参阅:

类#方法
不是有效代码。它仅在文档中使用。方法应该是实例方法

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

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

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

您将在ruby文档中看到这两个方面的示例(例如)


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

在代码中,第一个是方法调用,第二个是注释。仅基于那篇超级简洁的博客文章?是否应该遵循文档格式,即类方法的
Class::method
。Ruby文档是一个规范的源代码,博客文章没有权威性,
.method
令人困惑,因为所有方法都是这样调用的。除此之外,类常量是通过
::
访问的,因此它是有意义的。是的,博客文章不是权威性的。但是RuboCop的RSpec风格指南也说了同样的话:根据RuboCop RSpec风格指南,在描述类方法时应该使用点: