Зачем оставлять @opt неиспользованным в конструкторе YAML :: Store? - PullRequest
0 голосов
/ 27 сентября 2018

Сегодня я просматриваю исходный код 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
...