From: Robert Klemme Date: 2004-04-28T17:04:02+09:00 Subject: Re: Array#hash bug? "Mark Hubbart" schrieb im Newsbeitrag news:56EB0554-986E-11D8-9038-000502FDD5CC@mac.com... > Hi, > I was messing around with recursive arrays and I came across this: > > mark@imac% cat hash.rb > a = [] > a[0] = a > puts a.hash > mark@imac% ruby -v hash.rb > ruby 1.9.0 (2004-04-11) [powerpc-darwin] > hash.rb:3:in `hash': stack level too deep (SystemStackError) > from hash.rb:3:in `hash' > from hash.rb:3:in `hash' > from hash.rb:3:in `hash' > from hash.rb:3:in `hash' > from hash.rb:3:in `hash' > from hash.rb:3:in `hash' > from hash.rb:3:in `hash' > from hash.rb:3:in `hash' > ... 44888 levels... > from hash.rb:3:in `hash' > from hash.rb:3:in `hash' > from hash.rb:3:in `hash' > from hash.rb:3 > > .. looks like a bug? Hm, I'd say that for efficiency reasons loop detection in object graphs of arrays is not done and thus it's a bug you'll have to live with. After all, how often do you need self referencing containers? robert