Dhruva said:
require 'pp'
pp object_reference
hm, looks like inspect() by default will print out all the instance
variables...
but what if not using inspect()? such as wanting to print them out in a
table format, between <td> and </td> tags?
require 'pp' works until inspect is redefined, then it will stop working
and give the following error. thanks for giving out starting pointers
though.
irb(main):009:0> class Point
irb(main):010:1> def initialize(x,y)
irb(main):011:2> @x,@y = x,y
irb(main):012:2> @something = 1
irb(main):013:2> end
irb(main):014:1> end
=> nil
irb(main):015:0> p = Point.new(1,2)
=> #<Point:0x253f260 @y=2, @x=1, @something=1>
irb(main):016:0> p p
#<Point:0x253f260 @y=2, @x=1, @something=1>
=> nil
irb(main):017:0> class Point
irb(main):018:1> def inspect
irb(main):019:2> p @x, @y
irb(main):020:2> end
irb(main):021:1> end
=> nil
irb(main):022:0> p
1
2
=>
irb(main):023:0> p p
1
2
=> nil
irb(main):024:0> require 'pp'
=> true
irb(main):025:0> pp p
1
2
NoMethodError: undefined method `length' for nil:NilClass
from c:/Ruby/lib/ruby/1.8/prettyprint.rb:144:in `text'
from c:/Ruby/lib/ruby/1.8/pp.rb:259:in `pretty_print'
from c:/Ruby/lib/ruby/1.8/pp.rb:140:in `pp'
from c:/Ruby/lib/ruby/1.8/prettyprint.rb:201:in `group'
from c:/Ruby/lib/ruby/1.8/prettyprint.rb:227:in `nest'
from c:/Ruby/lib/ruby/1.8/prettyprint.rb:200:in `group'
from c:/Ruby/lib/ruby/1.8/prettyprint.rb:212:in `group_sub'
from c:/Ruby/lib/ruby/1.8/prettyprint.rb:199:in `group'
from c:/Ruby/lib/ruby/1.8/pp.rb:140:in `pp'
from c:/Ruby/lib/ruby/1.8/pp.rb:77:in `pp'
from c:/Ruby/lib/ruby/1.8/pp.rb:119:in `guard_inspect_key'
from c:/Ruby/lib/ruby/1.8/pp.rb:77:in `pp'
from c:/Ruby/lib/ruby/1.8/pp.rb:60:in `pp'
from c:/Ruby/lib/ruby/1.8/pp.rb:59:in `each'
from c:/Ruby/lib/ruby/1.8/pp.rb:59:in `pp'
from (irb):25
irb(main):026:0>