【发布时间】:2014-04-15 17:19:28
【问题描述】:
我的理解是:
class Example
class << self
def my_method; end
end
end
相当于:
class Example
def self.my_method; end
end
但是这样对吗?
【问题讨论】:
-
是的,没错:)
-
一个重要(但很少需要)的区别是您可以使用
class << self语法定义私有方法。 -
this 的可能副本,其中提出了一些有趣的观点。请注意,对于
attr_accessor :a,您需要#1,对于类实例变量@a。您可以将class << self替换为instance_eval do。