https://bugs.ruby-lang.org/
https://bugs.ruby-lang.org/favicon.ico?1711330511
2010-04-01T02:23:07Z
Ruby Issue Tracking System
Ruby master - Feature #3066: [TypedData] wrap_struct_name は必要?
https://bugs.ruby-lang.org/issues/3066?journal_id=9617
2010-04-01T02:23:07Z
ko1 (Koichi Sasada)
<ul></ul><p>=begin<br>
ささだです.</p>
<p>(2010/04/01 0:55), Tadashi Saito wrote::</p>
<blockquote>
<p>rb_data_type_tのメンバーとして、 const char *wrap_struct_name と<br>
いうのがありますが、これは本当に必要なものなのでしょうか。</p>
<p>Rubyオブジェクトの実体となる構造体の型に名前をつけるもの、のように<br>
自分には見えますが、そもそもRubyオブジェクトになる時点で、なんらかの<br>
クラス名が必ず付いているはずです。実際に*.cで、wrap_struct_nameと<br>
して使われている文字列を見ましたが、自分が見た限りではクラス名その物<br>
でした。二回同じものを指定するのは、DRYじゃないです。</p>
<p>また、僕が想像する範囲では、このメンバーは、将来作られるメモリ<br>
プロファイラが、オブジェクトの種類を分かりやすく表示できるように<br>
用意したのでは、と邪推しているのですが(間違っていたらごめんなさい)、<br>
上記のとおりクラス名を取ればほとんど同じ事ができるはずです。<br>
(rb_obj_classname(obj)で。)</p>
<p>ということでこのメンバーは不要なのではないかと思っているのですが、<br>
どうなのでしょうか。自分の想定している使い方でなかったり、自分が<br>
思いつかなかった意味のある使い方があって必要ならば、Closeして<br>
ください。</p>
</blockquote>
<p> プロファイラの例で欲しいのは,どういった種類の T_DATA なのか,なのでク<br>
ラス名じゃないです.</p>
<p> 構造体名を指定すると,その名前まで渡した構造体のオブジェクトを作るよう<br>
なマクロはあってもいいかなー,という気はします.</p>
<p>--<br>
// SASADA Koichi at atdot dot net</p>
<p>=end</p>
Ruby master - Feature #3066: [TypedData] wrap_struct_name は必要?
https://bugs.ruby-lang.org/issues/3066?journal_id=9870
2010-04-04T13:05:05Z
naruse (Yui NARUSE)
naruse@airemix.jp
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Rejected</i></li></ul><p>=begin</p>
<p>=end</p>