如何在YARD中记录具有可变数量参数的函数?

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)

是否有内置的方法来处理这种情况?

Nei*_*ter 8

以下是有道理的,因为argsArray方法内部,虽然没有一个参数是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来源) - 尽管指南中没有给出此约定的示例.