From: "kou (Kouhei Sutou)" Date: 2012-10-02T22:29:40+09:00 Subject: [ruby-dev:46192] [ruby-trunk - Feature #7047] Add new C API: rb_newobj_with Issue #7047 has been updated by kou (Kouhei Sutou). rb_obj_new()はどうでしょうか。 rb_obj_がprefixのみなさんとまぎらわしいかしら。 ---------------------------------------- Feature #7047: Add new C API: rb_newobj_with https://bugs.ruby-lang.org/issues/7047#change-29943 Author: authorNari (Narihiro Nakamura) Status: Open Priority: Normal Assignee: Category: Target version: 2.0.0 nariです。 現在のCRubyではオブジェクトを割り当てる際に rb_newobj() という関数を利 用していますが、引数にtypeやklassがないため、たとえばT_STRINGだけ違うと ころに割り当てるなどの特別な処理がやりづらくなっています。 そこで以下のC APIの追加を提案します。 * VALUE rb_newobj_with(VALUE, enum ruby_value_type); * #define NEWOBJ_WITH(obj,type,klass,flags) ruby内部でrb_newobj()を使っているところはrb_newobj_with()に置き換えたい と考えています。互換性のためにrb_newobj・NEWOBJ・OBJSETUP自体は残します が、将来的には消したいですね。ただ2.0では難しそうです。 パッチは以下のとおりです。 https://github.com/authorNari/ruby/compare/trunk...rb_newobj2.patch また、rb_newobj_withという名前よりよい名前(rb_newobj2以外)があれば教 えてもらえると嬉しいです。 -- http://bugs.ruby-lang.org/