我有以下课程,我想将所有desc
字段保存到一个数组中。
我将在多个类中使用它,所以我想节省一些打字,我会使用 module Describe
。
module Describe
@@interactive = []
def desc(desc)
@desc = desc
end
def method_added(method)
@@interactive.push(@desc)
@desc = nil
end
end
这就是它在课堂上的样子。
class Dog
extend Describe
desc "Holy"
def bark
puts "woof"
end
desc "Moly"
def wag
puts "wagging"
end
end
以下是我打算如何使用代码。
d = Dog.new
puts d.interactive
但我无法访问interactive
数组。我不能使用类,因为如果我尝试使用继承,desc
则找不到该函数。当我尝试使用include
而不是extend
.
如果我继续使用,有什么方法可以访问交互式数组extend
吗?我是否错误地解决了这个问题?有没有办法include
在我的其余代码之前运行以便desc
找到该方法?
我想要完成的是动态文档。我试图返回到另一个我无法控制的程序,方法名称、参数和每个方法的描述。我只询问了上述问题中的描述,因为我遇到的主要问题是我不知道如何访问该变量。我可以只使用代码注释并解析它们,但我想让任何追随我的程序员清楚我的意图是什么,并防止任何无意的注释事故。