From: angus Date: 2006-01-08T13:53:30+09:00 Subject: Re: Newbie question (Array.<<) [Todd Breiholz , 2006-01-08 04.15 CET] > I must be missing something... > > I've got the following class method. The problem is the line that reads objs > << self.new(obj). The first time through the loop, the objs array looks > correct. After the second iteration however, the objs array contains 2 > copies of the second object created. > > Here is the output from the method: > > "00630000003BqXwAAK" > [00630000003BqXwAAK] > "00630000003awD3AAI" > [00630000003awD3AAI, 00630000003awD3AAI] > > and here is the method: > > def FindAll(criteria) > self.GetAllFields if (defined? @@attribs) == nil > result = @@connection.query([:query, "select #{@@attribs} from #{ > self.to_s} where #{criteria}"]) > objs = [] > result.queryResponse.result.records.each do |obj| Probably this object is being reused ----------------^^^ Look at the documentation (or source code) of the method that does the iteration. Good luck. > p obj.Id > objs << self.new(obj) > p objs > end > objs > end > > Thanks! > > Todd Breiholz