Shoes replaces Array#inspect like so:

  class Array
    def inspect(hits = {})
        return "[...]" if hits[self]
        hits[self] = true
        "[" + map { |x| x.inspect(hits) }.join(', ') + "]"
    end

The standard #inspect doesn't take any parameters.  So, my guess is that most
custom #inspect methods don't either.  If you put such an object in an array
and then call inspect on the array it'll blow up with a "wrong number of
arguments (1 for 0)" error.

This could be fixed by checking the arity of x's inspect method.

Thanks,
Eric

-- 
Vying Games (http://vying.org)

Reply via email to