From: "助田 雅紀" Date: 1999-03-29T09:31:20+09:00 Subject: [ruby-dev:6535] Re: how to control hash in C 助田です. In [ruby-dev:6529] Re: how to control hash in C >まつもと ゆきひろです >|ハッシュから順にデータを取り出す・・・st_foreach >rb_iterateとrb_eachの組合せ(enum.c参照) なるほど.この2つを組み合わせて使えば良いのですね. README.EXT.jp にも rb_iterate は,書いてありました. 失礼しました. >rb_hash_aref >rb_hash_aset この2つは,ruby-1.2.3では見当たらないんですけど ruby-1.3.x の話でしょうか? できれば ruby-1.2.3の方で使える方法を教えてください. (1.2ベースで拡張モジュールを書いてます.) >あとは,ハッシュのサイズ > RHASH(hash)->tbl->num_entries うーむ.ハッシュの内部構造に依存しちゃいますねえ. 今後のこと(ハッシュの内部構造が変更されたときのこと)を考えて NUM2INT(rb_funcall(hash, rb_intern("length"), 0)) あたりにしておきます. -------------------------------------------- 助田雅紀(masaki.suketa@systemplaza.co.jp) --------------------------------------------