使用YARD将参数标记为可选(或具有默认值)

bra*_*mus 23 ruby yard

我正在使用YARD来记录我的代码.我有一个方法,它有一个带有默认值的可选参数.如何表示参数是可选的并且具有默认值?

例:

# Squares a number
# 
# @param the number to square
def square_a_number(number = 2)
  number * number
end
Run Code Online (Sandbox Code Playgroud)

Jos*_*ter 57

YARD现在自动支持param默认值.

YARD根据方法定义自动计算出默认值.瑞典文!

例如,以下代码文档将生成后续的YARD文档:

代码文档

# Squares a number.
# 
# @param [Integer] number The number to square.
#
def square_a_number(number = 2)
  number * number
end
Run Code Online (Sandbox Code Playgroud)

由此产生的YARD文档

Parameters:
  number (Integer optional) (defaults to: 2)
Run Code Online (Sandbox Code Playgroud)

  • 如果您使用[contracts gem](https://github.com/egonSchiele/contracts.ruby)之类的东西来强制执行必需或可选参数,则自动推断无济于事。如果YARD允许在此处明确显示,那就太好了。 (2认同)

Ale*_*tie -1

您可以简单地使用标记参数的选项@param optional(请参阅http://rubydoc.info/docs/yard/file/docs/Tags.md)。据我所知,现在有办法来表示默认值;你最好把它放在描述中(“要平方的数字,默认为 2”)