我有一個名爲AB的模塊。現在它看起來是這樣的:模塊中的動態方法?
module AB
extend self
def some_method(hash)
....
end
....
end
我們用這樣的:AB.some_method(:東西=>:什麼,:等=> '你的想法')。有大約六個字符串,用戶必須通過,我想變成動態方法,以便代替AB.some_method(:thing =>:無論...)他們只需調用AB。無論(...)還是AB :: whatever(...)。我以爲我可以用method_missing做到這一點,但我想我不明白。我做了這樣的事情:
module AB
def method_missing(name,*args)
super unless THINGS.include?(name.to_s)
...
end
end
但是我試圖調用AB :: whatever時從來沒有進入該方法。我想過關於遍歷THINGS和使用define_method,但我不知道如何定義帶參數的方法。
任何幫助表示讚賞。
學會給予好評你喜歡:) – horseyguy 2010-09-12 06:08:26