立石です。

Date: Tue, 14 Sep 1999 22:57:46 +0900
From: Kazuhiro Yoshida <moriq / ma2.seikyou.ne.jp>
moriq> >C レベルで具体的にはどう実装すればいいのですか?
moriq> >教えてください.
moriq> 
moriq> なんか指してる内容が分かりづらい言い方だな.^^;
moriq> 
moriq> ・クラスのインスタンス変数を C レベルで用意する方法
moriq> を教えてください.ということです.
moriq> 
moriq> なにかしら参考になるソースコードがすでにあるはずなの
moriq> ですが,見つけられない.^^;

ストラクチャを作る例だとext/etcなどはどうでしょうか?
簡単には

VALUE ST_NAME = rb_struct_define("ST_NAME","mem1","mem2",...,"memn",0);

としてStructureを定義しておいて、

rb_struct_new(ST_NAME,val1,val2,...,valn,0);

でそのオブジェクトを作ります。
あとはrb_struct_aset,rb_struct_arefなどで変更や参照を行ないます。

インスタンス変数を扱うのはREADME.EXT.jpの中でrb_ivar_get,
rb_ivar_set,rb_ivar_defineなどを探せば見つかります。

			Takaaki Tateishi <ttate / jaist.ac.jp>