4
在運行時創建類作爲進行中在運行時創建一個類如下:模塊/命名空間
klass = Class.new superclass, &block
Object.const_set class_name, klass
例子:
class Person
def name
"Jon"
end
end
klass = Class.new Person do
def name
"#{super} Doe"
end
end
Object.const_set "Employee", klass
puts Employee.new.name # prints "Jon Doe"
現在,讓我們說,你有一個模塊公司名稱:
module Company
end
如何創建Employee類公司模塊/名稱空間內的運行時處的s ,以便產生相同的結果?
puts Company::Employee.new.name # prints "Jon Doe"
打你2秒字面上:P –
@MichaelKohl:是的,我花了他們在切割/粘貼該行:) –
感謝您的回答和解釋,塞爾吉奧! – danlee