From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1997-12-18T12:14:31+09:00 Subject: [ruby-dev:1130] Re: [Req] object refference けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :01126 ] the message: "[ruby-dev:1126] Re: [Req] object refference ", on Dec/18 10:15(JST) Yukihiro Matsumoto writes: >まつもと ゆきひろです >|>|idから元のオブジェクトが取り出せるのはいいですよね? というか, 取り出せ >|>|るんですよね? >|>ObjectSpaceを使えばできます. >|# きっと分かっていていっているのですよね? > >ええと,分かってというかなんというか.もちろんC言語のレベル >ならなんとでもできるのですが,それをruby側に見せるのにどうし >たものかと,思案しているわけでした.WeakRefをまるごとCで実装 >してしまうというのはやり切れないのですが,とはいえ,idからオ >ブジェクトを得るメソッドってちょっと危険な気がするんですけど. WeakRefのクラス自身(特にidのアクセスのところ)とidからオブジェクトを持っ てくるメソッド自身は, Cで実装したほうが良いでしょうね. MLFの登場で, rubyクラスでは完全には隠蔽できなくなっていますから. # でも, まるごと何でCで実装したくないんだ? 結構基本的なクラスだと思う # んだけど? でも, finalizerを使うところらへんが応用っぽいかな? ># looks_pointer_p()とかでチェックすれば平気かなあ. idを隠蔽する(変更できなくする)ことと, GC時に適当な処理を行なえば安全だ と思うのですが, 何か抜けがありますかねえ... __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---