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

2024-03-14

我有一个接受可变数量参数的函数,如下所示:

def myfun(*args)
  # ...
end

所有参数都具有相同类型(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 is an Array在方法内部,尽管没有一个参数是Array像这样:

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

请注意*从注释中的参数名称中删除。这只是为了保持一致 -args is an Array, but *args is not.

快速搜索显示有相当多的项目使用这种风格,包括 Yard 自己的 .rb 文件(例如,参见Verifier 类中初始化的源代码 https://github.com/lsegal/yard/blob/master/lib/yard/verifier.rb) - 尽管指南中没有给出该约定的示例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐