之间的区别。 和#

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

  • Class.method
  • Class#method

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

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

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

实际调用类方法(Class.method)时,在代码中使用点格式,虽然我已经看到一些人(不幸的是)在文档中使用双冒号或散列来交替使用它。

这是一个命名惯例。

  • 使用pound #method作为实例方法
  • 对类方法使用dot .method

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

Class#method不是有效代码。 它仅用于文档。 方法应该是一个实例方法。

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