我想在Ruby中爲String類添加自定義方法。據我所知,它可以用下面的代碼來完成:在模塊的上下文中添加方法到基類
class String
def my_own_method
# impelementation comes here
end
end
如果我寫在一個文件中的代碼說「string.rb」和其他地方,即在內部評級法,我寫require "string"
那麼它工作得很好,我有權訪問任何字符串對象上的該自定義方法。 然而,問題出現時,我想我打包的自定義代碼到這樣的模塊:
module A
class String
def my_own_method
# implementation
end
end
end
然後,當我包括模塊(沒有錯誤),我沒有訪問每個方法除非我通過調用例如s = A::String.new
直接實例化字符串。在這種情況下,我可以訪問我的自定義方法,但僅適用於不在任何字符串對象上的變量。我該怎麼做才能打包我的util類並自動將它們的方法添加到基類中?任何幫助真的很感激。
非常感謝。它像一個魅力! – 2013-02-13 18:30:04