Hi,
I have a piece of code below in which I;
1…make a new NumberList object and append two MyNumber objects.
2…copy the NumberList object and append a further MyNumber object.
However after this both objects are the same.
Any help would be greatly appreciated.
Thanks,
Kieran
class MyNumber
def initialize(x)
@x=x
end
attr_accessor :x
end
class MyNumberList
def initialize @nums = Array.new
end
def append(num) @nums.push(num)
self
end
def sum
sum=0 @nums.each {|s| sum += s.x }
return sum
end
end
Hi,
I have a piece of code below in which I;
1…make a new NumberList object and append two MyNumber objects.
2…copy the NumberList object and append a further MyNumber object.
However after this both objects are the same.
[…]
zl2=zl1
That’s why they’re the same: by doing this assignment, you’re storing
a new reference to the object in zl2. But it’s still the same object.
Hi,
I have a piece of code below in which I;
1…make a new NumberList object and append two MyNumber objects.
2…copy the NumberList object and append a further MyNumber object.
However after this both objects are the same.
Any help would be greatly appreciated.
As said, you doesn’t copy the contents of zl1 in zl2: you make zl2 and
zl1 reference the same objet. What you want to do is to copy the contents of zl1 into zl2.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.