Ошибка NoMethodError: undefined method 'deep_merge' for #<Hash:BxLA>
Во время работы с deep_merge произошла следующая ошибка:
NoMethodError: undefined method 'deep_merge!' for #<Hash:BxLA>
Код:
h1 = { a: 100, b: 200, c: { c1: 100 } } h2 = { b: 250, c: { c1: 200 } } h1.deep_merge(h2) { |key, this_val, other_val| this_val + other_val }
Ожидание:
# => { a: 100, b: 450, c: { c1: 300 } }
Результат:
NoMethodError: undefined method 'deep_merge' for {:a=>100, :b=>200, :c=>{:c1=>100}}:Hash from (irb):3 from /Users/user/.rvm/rubies/ruby-2.5.1/bin/irb:11:in '<main>'
Суть ошибки сразу видна - нет такого метода deep_merge. Это метод из Ruby on Rails, а код ошибочно был запущен в "чистом" ruby через irb.
Работая с различными методами, будьте внимательны и обращайте внимание на окружение, в котором работаете.
Работая с различными методами, будьте внимательны и обращайте внимание на окружение, в котором работаете.