From: Shigeo Kobayashi Date: 1999-12-20T00:58:52+09:00 Subject: [ruby-list:19702] Re: Data_Wrap_Struct() 小林です。 いやはや、こんな夜遅くにたちまちレスをいただけるとは! ありがとうございます。 ----- Original Message ----- 送信者 : Yasushi Shoji 件名 : [ruby-list:19693] Re: Book : rb_obj_call_init() > # あと、こういうネタなら ruby-extがありまふ わかりました、次回からはそちらにします。 > > > さらに、TEST_add()では > >   ............... > > obj = rb_obj_alloc(cTEST); > > rb_obj_call_init(obj,0,0); > > v = malloc(......); > >   obj = Data_Wrap_Struct(obj,0,TEST_delete,v); > >   return obj; > > Data_Wrap_Struct()は、ruby.hによると、klass, mark, free, ptrの順番で > argumentを取るので、objがあやしいかと‥。 > > return Data_Wrap_Struct(cTEST, 0, TEST_delete, v) > > くらいじゃないですかね? > -- これも、やってみましたが同じでした。 あれこれやっているうちに、 obj = rb_obj_alloc(cTEST); rb_obj_call_init(obj,0,0); を、削除したらうまくいきました。 Data_Wrap_Struct()が新たにobjectを生成しているようなので、 rb_obj_alloc()は要らないようです。この解釈でよろしいのでしょうか? 小林 茂雄 E-Mail: shigeo@tinyforest.gr.jp Home Page: http://www.tinyforest.gr.jp