我有一个 Rails 应用程序,它通过包装器反复与另一个 Web 服务器通信,我想将包装器粘贴在 Singleton 类中,这样就不会为每个请求重新创建它。很简单,我想:
class AppWrapper < Wrapper
include Singleton
end
...
wrapper = AppWrapper.instance "url"
只有它不起作用:
wrong number of arguments (0 for 1)
/usr/lib/ruby/1.8/singleton.rb:94:in `initialize'
/usr/lib/ruby/1.8/singleton.rb:94:in `new'
/usr/lib/ruby/1.8/singleton.rb:94:in `instance'
Wrapper.initialize 需要一个参数,显然它没有通过,因为有问题的第 94 行说
@__instance__ = new # look Ma, no argument
我该如何解决这个问题?在 AppWrapper 中重新定义初始化似乎没有帮助,并且使用 Wrapper 将“set URL”与“initialize”分开似乎不是最理想的。