早坂@会津大学です。

 #前のメールがおかしかったので再送します。内容は同じです。
すみません。m(_ _)m

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