我正在寻找迭代一个码数@macro
的寄存器的方法。我知道你可以使用它们,如下所示:
class Post
include DataMapper::Resource
# @macro dm.property
# @return [$2] the $1 $0 of the post
property :title, String
end
并且您可以生成寄存器由逗号分隔的参数,就好像您正在使用如下所示的数组的一部分:
# @macro dsl_method
# @method $1(${2--2})
# @return [${-1}] the return value of $0
create_method_with_args :foo, :a, :b, :c, String
生成:foo(a, b, c)
和returns (String) the return value of create_method_with_args
但我有兴趣调用类似(${2--1}).each do |$arg|
的内容,并且文档会使用一行文档说明每个参数。
答案 0 :(得分:1)
不幸的是,宏是一种极其简单的工具,可以减少文档的干扰。由于安全问题,我们选择不执行可执行宏(您可能不希望在评论中运行Ruby)。对于所有问题,它们并不是一个通用的解决方案,但它们在非常简单的情况下运行良好。对于更复杂的情况,插件仍然是推荐的方法。
那就是说,既然你仍然需要指定实际的参数文档某处,我不会看到一个插件甚至会为你简化任何事情。如果我是你,我会简单地定义它,并使用@param
标签分别定义每个参数。例如(让我们假设宏以前就像您在问题中所做的那样“附加”):
# @param [String] a documentation for a
# @param [Symbol] b documentation for b
# @param [Hash] c documentation for c
create_method_with_args :bar, :a, :b, :c, Fixnum
这对我来说似乎很合理,因为在这些文档中你没有其他的东西可以干掉。