1
我有一個方法,我想添加到一個類的Rails應用程序。我想它分成模塊,像這樣:我可以添加到模塊內部的類定義嗎?
module Hah
class String
def hurp
"hurp durp"
end
end
end
#make sure the file containing the module is loaded correctly.
puts "Yup, we loaded"
#separate file
include Hah
"foobar".hurp
#should be "hurp durp"
我知道包含模塊被正確加載,因爲puts
打印正確,當我包含文件的文件,但我得到一個錯誤:
undefined method `hurp' for "foobar":String
那麼我該如何做到這一點?
哇。在這個答案中有很多新東西給我(這解決了我的問題)。所以一個模塊創建一個新的名稱空間,::是範圍解析運算符,並且::在全局名稱空間中引用? –
jergason
2010-11-02 16:21:55
@Jergason:一切正確。 – Chuck 2010-11-02 16:47:37
@Jergason:類也是模塊,因此也創建命名空間。 (實際上,類和模塊實際上只是分配給常量的對象,因此,模塊和類充當常量的名稱空間。) – 2010-11-02 17:14:58