我正在學習ruby,這是我的情況。來自stdlib的Ruby單例。如何殺死一個實例
require 'singleton'
class Lab
include Singleton
def initialize
puts 'initializing'
end
end
l1 = Lab.instance
l2 = Lab.instance
即使我已經完成了兩次Lab.instance,我只收到一條消息「初始化」。這意味着單身人士正在工作。大!
開發模式下的Rails使用const_remove殺死所有常量,以便在下一次請求模型和控制器上重新加載。
我想在這裏嘗試類似的東西。我想殺死l1和l2,這樣當我做Lab.instance時,創建一個新實例,並且我得到消息「初始化」。
有沒有辦法實現我所要求的?
謝謝
滾動你自己的東西是永遠存在作爲最後的手段。感謝您的建議和代碼示例。 – 2010-12-13 15:47:34