这个单例示例在Ruby中合法吗?

问题描述 投票:0回答:1

改编自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
ruby class instantiation
1个回答
1
投票

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

p Logger.create.object_id
© www.soinside.com 2019 - 2024. All rights reserved.