【发布时间】:2019-11-03 21:53:04
【问题描述】:
我已经了解了如何将一个类定义为单例 (how to create a singleton in ruby):
require 'singleton'
class Example
include Singleton
end
但是,如果我想为该单个实例提供一些参数怎么办,这意味着,示例应该始终初始化某些属性。例如,假设我有一个类,其唯一目的是记录到文件(这只是一个示例),但它需要一个文件名才能登录到它才能工作。
class MyLogger
def initialize(file_name)
@file_name = file_name
end
end
如何使 MyLogger 成为单例但确保它获得文件名?
【问题讨论】:
-
如果要传入参数,确定要使用单例吗?
-
是的。我相信在某些情况下单例是有意义的,但它应该具有一些初始配置。