Skip to content

Conversation

lvl0nax
Copy link
Contributor

@lvl0nax lvl0nax commented Apr 26, 2016

'fast' method has different result from other methods. Because:

ORIGINAL_HASH = { foo: "foo" }
#fast
{ foo: 'bar' }.merge!(ORIGINAL_HASH)
#=> {:foo=>"foo"}

#slow
ORIGINAL_HASH.merge(foo: 'bar')
#=> {:foo=>"bar"}

#slow_dup
ORIGINAL_HASH.dup.merge!(foo: 'bar')
#=> {:foo=>"bar"}

#new fast
{ foo: 'bar' }.merge!(ORIGINAL_HASH){ |_key, left, _right| left }
#=> {:foo=>"bar"}

@Arcovion Arcovion merged commit f63cf7c into fastruby:master Apr 27, 2016
@Arcovion
Copy link
Collaborator

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants