我需要具有单身行为的类。单例模块或类方法+类实例变量在Ruby中类似单例的行为?
什么是使用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
恕我直言,主要区别在于沟通你正在尝试做的事情的意图,如果你包括“单身人士”,这更明显。 –