From: "U.Nakamura" Date: 2012-06-15T18:29:57+09:00 Subject: [ruby-dev:45749] Re: [ruby-changes:24028] yugui:r36079 (trunk): Embedding CRuby interpreter without internal headers has been difficult こんにちは、なかむら(う)です。 In message "[ruby-dev:45748] Re: [ruby-changes:24028] yugui:r36079 (trunk): Embedding CRuby interpreter without internal headers has been difficult" on Jun.15,2012 17:29:57, wrote: > > 何でvoid*なのか一瞬考えたことがあったので、明示するのは悪くないと思います。 > > 混ざってるならそれは見落としですね。 > >  個人的には,opaque ってなんじゃらと混乱しましたので,よくわからんポイ > ンタだとわかる void * のほうが好きなのですが.hoge_opaque_t ってのは,よ > く知られた表現なんですかね? > >  この辺は,bikeshed になるでしょうか.どうしたもんですかね. どう考えてもbikeshedだよなあ、と思いますが、敢えて参戦します。 まず、rb_opaque_tというのは何も「明示」してないので、void *と 比べてマシになっているとは思えません。 名前の付けられない何かであるということを明示したいのなら、 void *で十分と思います。 実際には、rb_opaque_tを返す関数を見る限りでは、これはコンパイ ル結果であろうことは容易に推察できます。 また、rb_opaque_tを受け取る関数を見る限りでは、これはnodeなの であろうということも推察できます。 というわけで、「コンパイル結果でありnodeである」ということを 示す名前をつけるのが妥当ではないでしょうか。 あんまりいい名前ではないですが、rb_compiled_node_tとか。 それでは。 -- U.Nakamura