From: Jian Lin Date: 2010-05-20T05:54:04+09:00 Subject: Re: How to print out all of an object's instance variables? Dhruva Sagar wrote: > 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 and 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) => # irb(main):016:0> p p # => 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> -- Posted via http://www.ruby-forum.com/.