0
두 개체가 있으면 다른 개체에서 참조됩니다. 그런 다음 첫 번째 객체에서 참조되는 다른 객체를 알려주는 메서드를 작성할 수 있습니까?개체가 참조되고 있는지 확인할 수 있습니까?
두 개체가 있으면 다른 개체에서 참조됩니다. 그런 다음 첫 번째 객체에서 참조되는 다른 객체를 알려주는 메서드를 작성할 수 있습니까?개체가 참조되고 있는지 확인할 수 있습니까?
은 아마도 오브젝트 공간에서 주변에 파고
What is a ruby object? (introducing Memprof.dump) 도울 수 :
#!/usr/bin/ruby1.8
include ObjectSpace
def print_references_to_foos
for klass in [Bar, Baz]
each_object(klass) do |o|
s = o.inspect
puts s if s =~ /#<Foo/
end
end
end
class Foo
end
class Bar
def initialize(foo)
@foo = foo
end
end
class Baz < Bar
end
foo1 = Foo.new
foo2 = Foo.new
foo3 = Foo.new
bar1 = Bar.new(foo1)
bar2 = Bar.new(foo1)
bar3 = Baz.new(foo2)
print_references_to_foos
# => #<Baz:0xb7e09158 @foo=#<Foo:0xb7e091a8>>
# => #<Bar:0xb7e0916c @foo=#<Foo:0xb7e091d0>>
# => #<Bar:0xb7e09180 @foo=#<Foo:0xb7e091d0>>
# => #<Baz:0xb7e09158 @foo=#<Foo:0xb7e091a8>>
나는 상자 밖으로 작업을 수행하는 방법을 잘 모르겠지만, 아마 다음 포스트 당신을 도울 수 있습니다