2011-10-09 3 views
3
  1. 현재 인스턴스화 된 모든 객체의 목록을 가져 오는 방법이 있습니까?Ruby : 현재 인스턴스화 된 객체

  2. 변경 될 때마다 이벤트/메시지를 비동기 적으로 보내도록 목록을 만들 수 있습니까?

+2

이 일련의 작업을 통해 나는 울기를 원합니다 ... 단지 디버깅/진단 보좌관 일뿐입니다. # 2에 대한 –

+0

, irb에 새 스레드를 만들고 속성의 시계를 위임하십시오. – apneadiving

답변

1

ObjectSpace은 친구입니다. # 2에 대해 확실하지 않습니다.

4

ObjectSpace 모듈에는 가비지 수집 기능과 상호 작용하고 반복자를 사용하여 모든 살아있는 객체를 탐색 할 수있는 많은 루틴이 있습니다.

ObjectSpace.count_objects 
# => {:TOTAL=>56824, :FREE=>7190, :T_OBJECT=>5943, :T_CLASS=>878, :T_MODULE=>35, :T_FLOAT=>7, :T_STRING=>26950, :T_REGEXP=>189, :T_ARRAY=>10224, :T_HASH=>193, :T_STRUCT=>1, :T_BIGNUM=>5, :T_FILE=>7, :T_DATA=>1674, :T_MATCH=>22, :T_COMPLEX=>1, :T_NODE=>3468, :T_ICLASS=>37} 
관련 문제