From: Tadashi Saito Date: 2010-04-01T00:55:53+09:00 Subject: [ruby-dev:40886] [Feature #3066] [TypedData] wrap_struct_name は必要? Feature #3066: [TypedData] wrap_struct_name は必要? http://redmine.ruby-lang.org/issues/show/3066 起票者: Tadashi Saito ステータス: Open, 優先度: Normal 斎藤と申します。 rb_data_type_tのメンバーとして、 const char *wrap_struct_name と いうのがありますが、これは本当に必要なものなのでしょうか。 Rubyオブジェクトの実体となる構造体の型に名前をつけるもの、のように 自分には見えますが、そもそもRubyオブジェクトになる時点で、なんらかの クラス名が必ず付いているはずです。実際に*.cで、wrap_struct_nameと して使われている文字列を見ましたが、自分が見た限りではクラス名その物 でした。二回同じものを指定するのは、DRYじゃないです。 また、僕が想像する範囲では、このメンバーは、将来作られるメモリ プロファイラが、オブジェクトの種類を分かりやすく表示できるように 用意したのでは、と邪推しているのですが(間違っていたらごめんなさい)、 上記のとおりクラス名を取ればほとんど同じ事ができるはずです。 (rb_obj_classname(obj)で。) ということでこのメンバーは不要なのではないかと思っているのですが、 どうなのでしょうか。自分の想定している使い方でなかったり、自分が 思いつかなかった意味のある使い方があって必要ならば、Closeして ください。 ---------------------------------------- http://redmine.ruby-lang.org