Ale*_*x D 9 ruby metaprogramming rdoc
我class_eval用来更简洁地定义一堆重复的方法,如下所示:
%w{greasy chunky bacon}.product(%w{flying sky poodle}).each do |a,b|
class_eval "def #{a}_#{b}; do_something; end"
end
Run Code Online (Sandbox Code Playgroud)
我希望所有生成的方法都包含在RDoc文档中.是否有RDoc指令"手动"将方法添加到类的方法列表中?我找不到一个.
参见章节Metaprogrammed方法和隐藏方法和属性中的RDoc文档RDoc::Parser::Ruby.
在你的情况下,你会做类似的事情:
##
# :method: greasy_flying
# Makes grease fly.
##
# :method: chunky_poodle
# This is a really gruesome method. Ewww!
Run Code Online (Sandbox Code Playgroud)
等等.