Sunday, September 22, 2013

Re: [Rails] Need help to understand the difference between #dup and #clone while working singleton methods

I'd think, the difference in following example shows easier, where is the difference in you case, too


foo = [1,2]
bar= foo.dup
foo<< 3

puts bar.inspect

foo= [ [1,2] ]
bar = foo.dup
foo[0] << 3

puts bar.inspect

Try it with clone - and you recognize the difference between deep copy clone and shallow copy dup

In your case you only get a Object.new where you set: baz = foo.dup




On Sun, Sep 22, 2013 at 12:32 AM, Love U Ruby <lists@ruby-forum.com> wrote:
Look the below code with Object#clone:

foo = Object.new
def foo.bar
  "hi"
end
baz = foo.clone
foo.bar # => "hi"
baz.bar # => "hi"

Now with Object#dup

foo = Object.new
def foo.bar
  "hi"
end
baz = foo.dup
foo.bar # => "hi"
baz.bar # `<main>': undefined method `bar' for #<Object:0x989b378>
(NoMethodError)

Why the below part didn't work.

--
Posted via http://www.ruby-forum.com/.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/df21c6695a428cad5b46941018158f1c%40ruby-forum.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAC%2BiCjPJT0i1O8kyvWHHG4tswD7j5VRJsqg5rgjqcBKkZDKLkQ%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate