今天,我正在浏览YAML :: Store的源代码(您可以在ruby/lib/yaml/store.rb
中找到它)。我注意到在其构造函数中,有一个名为@opt的实例变量。
如下面的代码所示,@ opt是一个哈希,当最后一个参数为哈希时,它将被参数哈希更新/合并。但是,我在Rails源代码的YAML或PStore中找不到对它的任何引用。背后的逻辑是什么?
class YAML::Store < PStore
def initialize( *o )
@opt = {}
if o.last.is_a? Hash
@opt.update(o.pop) # what for?
end
super(*o)
end
...
end