2

次のコードを検討してください。

@person = { :email => 'hello@example.com' }
temp = @person.clone
temp[:email].upcase!

p temp[:email]     # => HELLO@EXAMPLE.COM
p @person[:email]  # => HELLO@EXAMPLE.COM, why?!

# But
temp[:email] = 'blah@example.com'
p @person[:email]  # => HELLO@EXAMPLE.COM

Ruby のバージョンは「ruby 2.1.0p0 (2013-12-25 リビジョン 44422) [i686-linux]」です。

なぜそれが起こっているのか分かりません。誰でも助けてもらえますか?

4

1 に答える 1