bfo*_*ine 7 ruby documentation yard
我有一个函数,它接受可变数量的参数,如下所示:
def myfun(*args)
# ...
end
Run Code Online (Sandbox Code Playgroud)
所有args都是相同的类型(Symbol),所以现在我记录函数就像只有一个参数,说它可能需要多个,例如:
# this function doesn’t do anything
# @param [Symbol]: this argument does something, you can add more symbols
# if you want
def myfun(*args)
# ...
end
Run Code Online (Sandbox Code Playgroud)
是否有内置的方法来处理这种情况?
以下是有道理的,因为args是Array方法内部,虽然没有一个参数是Array这样的:
# this function doesn’t do anything
#
# @param [Array<Symbol>] args these arguments do something
# @return [nil]
def myfun(*args)
# ...
end
Run Code Online (Sandbox Code Playgroud)
请注意,*它从注释中的param名称中删除.这仅仅是一致的- args 是的Array,但*args不是.
快速搜索显示了很多使用此样式的项目,包括Yard自己的.rb文件(例如,请参阅Verifier类中的initialize来源) - 尽管指南中没有给出此约定的示例.