konsu
(konsu)
1
hello,
is there a way to inspect an object only to a given depth to avoid infinite
loops in case of referential loops? like irb does:
irb(main):001:0> a = Object.new
=> #<Object:0x2be6cd0>
irb(main):002:0> b = Object.new
=> #<Object:0x2be4900>
irb(main):003:0> a.instance_variable_set(:@b, b)
=> #<Object:0x2be4900>
irb(main):004:0> b.instance_variable_set(:@a, a)
=> #<Object:0x2be6cd0 @b=#<Object:0x2be4900 @a=#<Object:0x2be6cd0 ...>>>
irb(main):005:0> a.inspect
=> "#<Object:0x2be6cd0 @b=#<Object:0x2be4900 @a=#<Object:0x2be6cd0 ...>>>"
irb(main):006:0>
thanks
konstantin
hello,
is there a way to inspect an object only to a given depth to avoid infinite
loops in case of referential loops? like irb does:
irb(main):001:0> a = Object.new
=> #<Object:0x2be6cd0>
irb(main):002:0> b = Object.new
=> #<Object:0x2be4900>
irb(main):003:0> a.instance_variable_set(:@b, b)
=> #<Object:0x2be4900>
irb(main):004:0> b.instance_variable_set(:@a, a)
=> #<Object:0x2be6cd0 @b=#<Object:0x2be4900 @a=#<Object:0x2be6cd0 ...>>>
irb(main):005:0> a.inspect
=> "#<Object:0x2be6cd0 @b=#<Object:0x2be4900 @a=#<Object:0x2be6cd0 ...>>>"
irb(main):006:0>
thanks
konstantin
harp:~ > cat a.rb
a = Object.new
b = Object.new
a.instance_variable_set(:@b, b)
b.instance_variable_set(:@a, a)
p a
require "yaml" and y a
require "pp" and pp a
harp:~ > ruby a.rb
#<Object:0xb75cdc64 @b=#<Object:0xb75cdc50 @a=#<Object:0xb75cdc64 ...>>>
--- &id001 !ruby/object
b: !ruby/object
#<Object:0xb75cdc64 @b=#<Object:0xb75cdc50 @a=#<Object:0xb75cdc64 ...>>>
hth.
-a
···
On Tue, 14 Feb 2006, konsu wrote:
a: *id001
--
judge your success by what you had to give up in order to get it.
- h.h. the 14th dali lama
konsu
(konsu)
3
please disregard this, it seems to work outside irb too. in still outputs
too much stuff in my case but it still does not loop forever.
konstantin
"konsu" <konsu@hotmail.com> wrote in message
news:99GdnSW6bqFtW23eRVn-jQ@kallback.com...
···
hello,
is there a way to inspect an object only to a given depth to avoid
infinite loops in case of referential loops? like irb does:
irb(main):001:0> a = Object.new
=> #<Object:0x2be6cd0>
irb(main):002:0> b = Object.new
=> #<Object:0x2be4900>
irb(main):003:0> a.instance_variable_set(:@b, b)
=> #<Object:0x2be4900>
irb(main):004:0> b.instance_variable_set(:@a, a)
=> #<Object:0x2be6cd0 @b=#<Object:0x2be4900 @a=#<Object:0x2be6cd0 ...>>>
irb(main):005:0> a.inspect
=> "#<Object:0x2be6cd0 @b=#<Object:0x2be4900 @a=#<Object:0x2be6cd0 ...>>>"
irb(main):006:0>
thanks
konstantin