我知道如何将一个类定义为单例 (如何在Ruby中创建单例):
require 'singleton'
class Example
include Singleton
end
但是如果我想在初始化单个实例时向#new传递一些参数怎么办?示例应始终初始化某些属性。例如,假设我有一个唯一目的是将日志记录到文件的类,但它需要一个文件名才能开始工作。
class MyLogger
def initialize(file_name)
@file_name = file_name
end
end
我如何将MyLogger设为单例,但又确保它获取到一个文件名?