Ruby 2.2.0 リファレンスマニュアル > 関数一覧 > rb_class_real

function rb_class_real

VALUE rb_class_real(VALUE cl)

特異クラスや化身クラス (T_ICLASS) を飛ばして cl の スーパークラスを辿り、Ruby レベルに露出してもよいクラスを返します。

例:

rb_class_real(RBASIC(klass)->super)

rb_obj_class(obj) は、obj のクラスを返す汎用の関数(Object#type と 同じ)だが、obj が Qtrue などでない RBasic 構造のものであることが わかっているなら

rb_class_real(RBASIC(obj)->klass)

でも良い。(が、やはり rb_obj_class(obj) を使う方が無難だろう)