From: Wilson Bilkovich Date: 2007-09-29T12:32:50+09:00 Subject: Re: ObjectSpace reveals order? On 9/28/07, Todd Benson wrote: > If I do... > > ObjectSpace.each_object { |o| puts o; gets } > > will it give me the consecutive order of the loading of the objects > (i.e. the time order that memory is allocated on the heap)? Or is it > a tree structure underneath or something strange like that? > > Why do I get String objects right off the bat like... > > ' does not evaluate to a gem specification > > > This appears to be source that the interpreter ran and outputted. > I see it on a WindowsXP machine using the 1.8.6 one-click installer. > ObjectSpace has everything. Including the String objects that are sitting around in memory, waiting for you to (in this case) someday try to load a faulty RubyGem. It's true that ascending object ids indicate creation order, but I doubt it would be a good idea to rely on that. Not every Ruby implementation handles them the same way. object_ids are meant to be unique, and nothing else.