Subject weakref.rb exception (Re: HORB for Ruby?) In-Reply-To: <36F0B01F.13A15602 / genmagic.com> References: <E10MpSn-0003Rt-00 / ev.netlab.co.jp> <19990316180726V.MAP2303 / narnia.nis.nec.co.jp> <36EFE461.F69E5167 / genmagic.com> <19990318110904J.hayasaka / univ21> <36F0B01F.13A15602 / genmagic.com> X-Mailer: Mew version 1.94b2 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA) X-fingerprint: X-URL: http://www.u-aizu.ac.jp/%7Es1041140/ Organization: The University of Aizu, Fukushima, Japan Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit 早坂@会津大学です。 From: oshima / genmagic.com (Mitsuru Oshima) Subject: [ruby-list:12992] Re: HORB for Ruby? Message-ID: <36F0B01F.13A15602 / genmagic.com> oshima> 簡単にいえば、GCに無視されるpointer/referenceです。これに参照されてても oshima> オブジェクトは回収されるという、便利な参照。テーブルにしまっておきたいけど、 oshima> 必要無くなった時はGCされてほしい時などに使います。 試しに weakref.rb の Usage のようにして実行してみたんです が、 ruby 1.3.1 (1999-03-15) [i686-linux] require "weakref" foo = Object.new foo = WeakRef.new(foo) ObjectSpace.garbage_collect foo.hash # => Raises WeakRef::RefError (because original GC'ed) コメントにあるような例外があがりません。 weakref.rb の最後にあるように foo.to_s なら例外があがります。 Usage が間違ってるのか、Ruby が悪いのか、僕の理解不足か? ------- Name : HAYASAKA Ryo (早坂 良) E-mail : hayasaka / univ21.u-aizu.ac.jp URL : http://www.u-aizu.ac.jp/%7Es1041140/ Computer Science and Engineering Lab., The University of Aizu