Ruby 4.0 リファレンスマニュアル

module function ObjectSpace?.count_tdata_objects

count_tdata_objects(result_hash = nil) -> HashRuby 1.9.3 から[permalink][rdoc][edit] [added by objspace]

T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。

[PARAM] result_hash:
戻り値のためのハッシュを指定します。省略した場合は新しくハッシュを作成します。result_hash の内容は上書きされます。プローブ効果を避けるために使用します。
[EXCEPTION] TypeError:
result_hash にハッシュ以外を指定した時に発生します。

本メソッドは普通の Ruby プログラマ向けのメソッドではありません。パフォーマンスに興味のある CRuby の開発者向けのものです。

例
require 'objspace'

p ObjectSpace.count_tdata_objects
# => {RubyVM::InstructionSequence => 504, parser: 5, barrier: 6,
#     mutex: 6, Proc => 60, RubyVM::Env => 57, Mutex => 1, Encoding => 99,
#     ThreadGroup => 1, Binding => 1, Thread => 1, RubyVM => 1, iseq: 1,
#     Random => 1, ARGF.class => 1, Data => 1, autoload: 3, Time => 2}

現在のバージョンでは、戻り値のキーはクラスオブジェクトかシンボルのオブジェクトです。

普通の参照可能なオブジェクトの場合、キーはクラスオブジェクトです。それ以外の内部的なオブジェクトの場合、キーはシンボルです。シンボルの値は rb_data_type_struct に格納された名前が使用されます。

戻り値のハッシュは処理系に依存します。これは将来変更になるかもしれません。

本メソッドは CRuby 以外では動作しません。