If you read the documentation, you will learn it’s: key, old value, and new value.
h1.merge(h2) { |key, old, new| new - old }
means the final result will have value h2[key] - h1[key]
. Since you are merging h2
over h1
, values from h2
will be new values and those from h1
will be old values.
solved Why are there three variables with `merge` method?