我需要具有单身行为的班级。
使用Singleton模块有什么区别......
require 'singleton'
class X
include Singleton
def set_x(x)
@x = x
end
def test
puts @x
end
end
X::instance.set_x('hello')
X::instance.test
...并使用类方法和类实例变量?
class X
def self.set_x(x)
@x = x
end
def self.test
puts @x
end
end
X::set_x('hello')
X::test
答案 0 :(得分:1)
没有,就像你编写代码一样 - 但是单例是一个只允许单个实例的类。第二个代码段中没有任何内容不允许实例化多个实例。