这个单例示例在Ruby中是否合法?

时间:2012-05-15 05:27:15

标签: ruby class instantiation

改编了this link的示例。不确定调用Logger.create.id有什么问题,还是先调用l = Logger.new

class Logger
  private_class_method :new
  @@logger = nil

  def Logger.create
    @@logger = new unless @@logger
    @@logger
  end
end

Logger.create.id

提前感谢您的建议!

1 个答案:

答案 0 :(得分:1)

你的代码很好,除了最后一行。也许你的意思是:

p Logger.create.object_id