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