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)