之间的区别。 和#
在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是属于该对象的实际方法。 类也是一个对象。 这是有效的代码。