我有一个函数,带有可变数量的参数,像这样:

def myfun(*args)
  # ...
end

所有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

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

最佳答案

以下是有意义的,因为args是方法内部的Array,尽管没有一个参数是Array这样的:

# this function doesn’t do anything
#
# @param [Array<Symbol>] args these arguments do something
# @return [nil]
def myfun(*args)
  # ...
end

请注意,*是从注释中的参数名称中删除的。这只是为了保持一致-argsArray,但*args不是。

快速搜索显示了很多使用此样式的项目,包括在Yard自己的.rb文件中(例如,参见source for initialize in Verifier class)-尽管指南中未提供此约定的示例。

关于ruby - 如何在YARD中用可变数量的参数记录一个函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23328411/

10-12 03:33
查看更多