5
比方說,我有一個單例類是這樣的:如何方便類方法添加到一個Singleton類紅寶石
class Settings
include Singleton
def timeout
# lazy-load timeout from config file, or whatever
end
end
現在,如果我想知道是幹什麼用的超時我需要寫類似:
Settings.instance.timeout
但我寧願縮短,要
Settings.timeout
一個明顯的方法,使這項工作將修改imple設置到:
class Settings
include Singleton
def self.timeout
instance.timeout
end
def timeout
# lazy-load timeout from config file, or whatever
end
end
這樣的工作,但手動寫出每個實例方法的類方法將是相當繁瑣的。這是紅寶石,必須有一個聰明聰明的動態方式來做到這一點。
真棒回答。在我的特殊情況下,SingleForwardable正是我所期待的。謝謝! – 2009-09-26 16:22:52