我正在尝试用Ruby编写最安全的单例.我对这种语言很陌生,这种语言很有弹性,我没有强烈的感觉,我的单例类只能创建一个实例.作为奖励,我希望该对象只有在真正使用时才会被实例化.
当我实现"实例"/单例类型模式时,RubyMine通知使用类变量被认为是错误形式.
我遇到的唯一信息是使用类变量可以使继承有点松散.以下代码会给我带来问题还有其他原因吗?
class Settings
private_class_method :new
attr_accessor :prop1
attr_accessor :prop2
@@instance = nil
def Settings.instance_of
@@instance = new unless @@instance
@@instance
end
def initialize
@prop2 = "random"
end
end
Run Code Online (Sandbox Code Playgroud)
另外,有没有更好的方法,从Ruby方面来说,实现相同的目标,以确保只有一个实例?