From: Robert Klemme Date: 2006-10-28T01:55:11+09:00 Subject: Re: Bug segmentation fault Daniel Berger wrote: > Gavin Kistner wrote: >> From: list-bounce@example.com >>> I am trying to display the contents of large array (over 1000 rows) >>> using arrayName.collect {|x| puts x.inspect} >>> However the following occurs: >>> >>> [Bug] Segmentation fault >>> ruby 1.8.5 (20006-08-25) [i386-mswin32] >> I have no idea if it will make a different, but do you realize that by >> calling collect you are creating an array whose entries are the return >> value of puts (which is always nil). An array of over 1000 nil entries. >> >> I think you probably want either: >> arrayName.each{ |x| puts x.inspect } >> or >> puts arrayName.collect{ |x| x.inspect } This is also a nice alternative to try: require 'pp' pp arrayName And, btw, in Ruby we conventionally use underscores instead of camelCase so array_name is preferred. Of course that is a pretty meaningless identifier so that should probably named differently altogether. :) > True, but it shouldn't segfault in any case. I'm curious what the > objects of arrayName look like. I was not able to duplicate this > problem with a 10000 element array of simple objects. Yeah, OP what objects do you have in that array? Are you using some kind of C extension? Is this a recursive data structure? Regards robert