Method: Lua::Table#inspect
- Defined in:
- lib/rlua.rb
#inspect(trace = []) ⇒ Object
Recursively pretty-prints the table properly handling reference loops.
trace
argument is internal, do not use it.
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/rlua.rb', line 55 def inspect(trace=[]) if to_hash.empty? "L{}" elsif trace.include? self "L{...}" else trace << self v = [] each { |key, value| s = "" if key.class == self.class s += key.inspect(trace) else s += key.inspect end s += " => " if value.class == self.class s += value.inspect(trace) else s += value.inspect end v << s } "L{#{v.join ', '}}" end end |