我正在尝试在使用时创建一个包含Singleton模块的类attr_accessor.这似乎不起作用.
require 'singleton'
class Foo
attr_accessor :bar
include Singleton
end
Foo.bar = 'foobar'
Run Code Online (Sandbox Code Playgroud)
这给出了错误:
undefined method `bar=' for Foo:Class (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?
Singleton不会改变attr_accessor工作方式.它只能确保您只能有一个实例.所以你必须attr_accessor在本征类内调用,就像你没有那样Singleton.
class Foo
singleton_class.class_eval{attr_accessor :bar}
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1490 次 |
| 最近记录: |