我正試圖在ruby中編寫一個插件系統,我遇到了一些麻煩,從未學過一套好的基礎知識。無論如何,我的插件系統只是一個使用類的實驗。我的插件類看起來是這樣的:ruby中的類,方法和變量
class Plugin
def info
# Set some default values when a new class is created.
name = "Test Plugin"
description = "Just a simple test plugin."
version = "1.0"
end
end
在一個插件我會要求上述文件,並編寫一些代碼,像這樣:
require "./_plugin_base.rb"
pluginCleanup = Plugin.new
pluginCleanup.info do
name = "Cleanup"
description = "Remove the files we don't need in the public folder."
version = "1.0"
end
現在,我知道這個代碼不工作。基本上我想我想要的是info方法下的實例變量。我一直在使用真實的實例變量試圖和他們做的工作很好,但是我要保留這些info函數裏面,如果讓任何意義,因爲當我使用attr_accessor的可變因素是accessable爲:
pluginCleanup.name = "New Value"
可有人告訴我如何讓代碼按照上述示例中的描述工作?我只是想能夠申報一個新實例並致電:
pluginCleanup.info.name = "New Value"
命名空間的好應用:'Plugin'和'Plugin :: Info' – zetetic 2011-04-28 06:38:06
嗯,看起來不錯,我會試着看看我是否可以使用像zetetic這樣的命名空間。 – 2011-04-28 14:35:44