M
MR Damien
Hi dudes,
I am becoming crazy with an array behaviour.
Here is the stuff.
I have an objet PackageList that keep an internal list of packages
inside an array.
class PackageList
def initialize
@list = Array.new
end
def refresh
p @list # show list first time
@list.each do |item|
p item.name # show list second time
end
end
end
The problem here is that when I show the list for the first time I
didn't get the same result than the second time depiste I didn't change
anything in my list.
extract from first time
[#<Package:0x435e504 @maj_number=3, @min_number=2, @name="test1">,
#<Package:0x435d604 @maj_number=3, @min_number=1, @name="test2">,
#<Package:0x435cb64 @maj_number=1, @min_number=2, @name="test3">, ...]
extract from second time
"test1"
"test3"
...
The "test2" object disappeared depiste I didn't change anything. Now if
I call the method for 'each' latter in the software, the "test2" object
appears again.
I can't find why the list is changing even if I didn't touch anything.
I am becoming crazy with an array behaviour.
Here is the stuff.
I have an objet PackageList that keep an internal list of packages
inside an array.
class PackageList
def initialize
@list = Array.new
end
def refresh
p @list # show list first time
@list.each do |item|
p item.name # show list second time
end
end
end
The problem here is that when I show the list for the first time I
didn't get the same result than the second time depiste I didn't change
anything in my list.
extract from first time
[#<Package:0x435e504 @maj_number=3, @min_number=2, @name="test1">,
#<Package:0x435d604 @maj_number=3, @min_number=1, @name="test2">,
#<Package:0x435cb64 @maj_number=1, @min_number=2, @name="test3">, ...]
extract from second time
"test1"
"test3"
...
The "test2" object disappeared depiste I didn't change anything. Now if
I call the method for 'each' latter in the software, the "test2" object
appears again.
I can't find why the list is changing even if I didn't touch anything.