jam*_*nox 6 ruby documentation yard
我已经得到了我认为是一个相当基本的码宏用法,其中我有一个Hash结构,其中包含多个函数之间共享的多个选项.我希望使用一个宏只是为了防止我不得不在整个地方复制这个结构,但它似乎不像那样工作.
我期望工作的是:
# @macro [new] my_hash
# @param $1 [Hash,Array<Hash>] Inputted my_hash
# @option $1 [String] :a Value for A.
# @option $1 [String] :b Value for B.
# @option $1 [String] :c Value for C.
##
# my_func does stuff
# @macro my_hash h1
def my_func h1
end
##
# other_func does stuff
# @macro my_hash h2
def other_func h2, a, b
end
Run Code Online (Sandbox Code Playgroud)
并正确记录了h1和h2.我想我已经发现至少1美元不能像那样工作而不是从函数本身,但我可以调用两个参数h1并用宏中的h1替换$ 1,我仍然没有得到我想要的.
http://rubydoc.info/docs/yard/file/docs/Tags.md#macro上的"定义简单宏"示例表明我可以这样做(注意我找到了带有@!宏的示例,有些没有但是似乎都不起作用).
关于院子我不是很了解但是这不起作用吗?有什么类似的东西,我可以做到实现我的结果?是否有一个调试功能可以解释这一点,因为院子服务器控制台没有出现错误?
谢谢
由于您已经在宏中指定应为方法的第一个参数扩展它,因此在扩展宏时不需要指定它。而且似乎无法判断扩展宏的哪个参数。另一件事是您可以[new]在这种情况下跳过,并且似乎最好使用@!macro而不是@macro.
# @!macro my_hash
# @param $1 [Hash,Array<Hash>] Inputted my_hash
# @option $1 [String] :a Value for A.
# @option $1 [String] :b Value for B.
# @option $1 [String] :c Value for C.
##
# my_func does stuff
# @!macro my_hash
def my_func h1
end
##
# other_func does stuff
# @!macro my_hash
def other_func h2, a, b
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
697 次 |
| 最近记录: |