如何计算在Ruby中创建的对象数量

时间:2015-12-20 15:16:59

标签: ruby

是否可以计算Ruby应用程序中创建的对象总数?如果是这样,我该怎么做?

我知道如何计算我创建的给定类的实例数,如this post所示,但有没有办法获取应用程序中任何类创建的对象数(包括内部类) )?

1 个答案:

答案 0 :(得分:3)

你应该使用

ObjectSpace.count_objects

例如,这是它在新的IRB会话上输出的内容:

{
        :TOTAL => 30161,
         :FREE => 378,
     :T_OBJECT => 152,
      :T_CLASS => 884,
     :T_MODULE => 30,
      :T_FLOAT => 4,
     :T_STRING => 11517,
     :T_REGEXP => 165,
      :T_ARRAY => 3395,
       :T_HASH => 180,
     :T_STRUCT => 2,
     :T_BIGNUM => 2,
       :T_FILE => 15,
       :T_DATA => 1680,
      :T_MATCH => 99,
    :T_COMPLEX => 1,
       :T_NODE => 11620,
     :T_ICLASS => 37
}