Сегодня я просматриваю исходный код YAML :: Store (вы можете найти его в ruby/lib/yaml/store.rb
).Я заметил, что в его конструкторе есть переменная экземпляра с именем @opt.
Как показывает приведенный ниже код, , @opt - это хеш, который, когда последний параметр является хешем, будет обновляться / объединяться с помощью хеша параметра.Однако я не могу найти ссылки на него в YAML или PStore в исходном коде rails.В чем логика?
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