From: okkez Date: 2008-06-17T18:32:59+09:00 Subject: [ruby-dev:35143] Re: lib/finalize may be obsolete? okkez です。 Finalizer の各メソッドの説明を書こうとして、試しに動かそうとしたら動きませんでした。 リファレンスには obsolete と書きますが、動作しないライブラリが標準添付されているのは ちょっとおかしいのではないかと思います。 エラーメッセージによると Symbol#intern が無いため動かないようです。 ---- 動かないスクリプト ----- require 'finalize' a = '' b = '' Finalizer.add(a,b) ---- ここまで ---- エラーメッセージ /usr/lib/ruby/1.8/finalize.rb:192: warning: ObjectSpace::add_finalizer is deprecated; use define_finalizer /usr/lib/ruby/1.8/finalize.rb:59: warning: ObjectSpace::call_finalizer is deprecated; use define_finalizer /usr/lib/ruby/1.8/finalize.rb:60:in `add': undefined method `intern' for :finalize:Symbol (NoMethodError) from finalize.rb:6 2006/12/25 22:50 Yukihiro Matsumoto : > まつもと ゆきひろです > > In message "Re: [ruby-dev:30051] lib/finalize may be obsolete?" > on Mon, 25 Dec 2006 21:59:27 +0900, sheepman writes: > > |現在では ObjectSpace.define_finalizer(obj, proc) が標準であるわけで、 > |同様の機能を提供する lib/finalize は実質的に obsolete なんだと思います。 > |リファレンスマニュアルに finalize は obsolete だと書き加えちゃっても良いでしょうか。 > > お願いします。 > > -- okkez okkez000@gmail.com