[Ruby] Re: [Ruby] ObjectSpace.define_finalizer в конструкторе

Eugene Scripnik Eugene.Scripnik at itgrp.net
Tue Nov 12 15:01:51 MSK 2002


Tuesday, November 12, 2002, 1:10:50 PM, you wrote:


YL> Привет,

YL> Кто-нибудь просветит меня, почему finalizer не 
YL> присобачивается в конструкторе?

YL> Смотрите:


YL> class Test
YL>    def initialize
YL>       ObjectSpace.define_finalizer( self, lambda{ puts "removing 1" } )
YL>    end
YL> end

YL> a = Test.new
YL> ObjectSpace.define_finalizer( a , lambda{ puts " -- removing  2" } )


YL> Этот скриптец работает так:

YL> leikind at leikind,/var/www/dict $ ruby test.rb
YL>  -- removing  2
Подобный вопрос обсуждался в ruby-talk[54543]:
class Test
    def Test.final
        lambda { puts "removing 1" }
    end

    def initialize
        ObjectSpace.define_finalizer( self, Test.final )
    end
end

-- 
Best regards,
 Eugene [team Enticla] [IT Group]    mailto:Eugene.Scripnik at itgrp.net




More information about the Ruby mailing list