Ruby 如何记录数组类型的@param,它也可以是空白数组?

Ruby 如何记录数组类型的@param,它也可以是空白数组?,ruby,rdoc,yard,Ruby,Rdoc,Yard,以下是接受字符串数组或空白数组[]的方法的片段: @参数[数组]条 def foobar 如果酒吧是空的? 这样做 其他的 那样做 终止 终止 我觉得这个@param类型有点误导 P>是否有一种更好的方法来显式地记录空白数组用例?< /p> 在您的情况下,如果您知道预期的参数是字符串数组,那么[数组]对于@ PARAM是足够的IMO。无论参数是否为空,可能会更改的是返回值,因为您可以按照以下中所述操作: 描述方法的返回值和类型。你可以 如果某个方法具有多个返回标记,请为该方法列出多个返回标记

以下是接受字符串数组或空白数组[]的方法的片段:

@参数[数组]条 def foobar 如果酒吧是空的? 这样做 其他的 那样做 终止 终止 我觉得这个@param类型有点误导


<> P>是否有一种更好的方法来显式地记录空白数组用例?< /p> 在您的情况下,如果您知道预期的参数是字符串数组,那么[数组]对于@ PARAM是足够的IMO。无论参数是否为空,可能会更改的是返回值,因为您可以按照以下中所述操作:

描述方法的返回值和类型。你可以 如果某个方法具有多个返回标记,请为该方法列出多个返回标记 不同的返回案例。在这种情况下,每种情况都应该以“如果”开头 “…”

例如:

# @param bar [Array<String>]
# @return [TypeX] if bar is empty
# @return [TypeY] if bar is not empty
def foo(bar)
  ...
end

在您的例子中,如果您知道预期参数是字符串数组,那么[array]对于@param来说就足够了。无论参数是否为空,可能会更改的是返回值,因为您可以按照以下中所述操作:

描述方法的返回值和类型。你可以 如果某个方法具有多个返回标记,请为该方法列出多个返回标记 不同的返回案例。在这种情况下,每种情况都应该以“如果”开头 “…”

例如:

# @param bar [Array<String>]
# @return [TypeX] if bar is empty
# @return [TypeY] if bar is not empty
def foo(bar)
  ...
end

接受任意长度的数组显然意味着接受长度为零的数组。这很明显,不需要记录

现在,如果该方法在传递一个空数组时做了一些完全不同和意外的事情,那么可以在一个单独的


尽管如此,如果该方法根据其参数做两件完全不同的事情,人们可能会问这样一个问题:为什么这不是两个不同的方法。

接受任意长度的数组显然意味着接受长度为零的数组。这很明显,不需要记录

现在,如果该方法在传递一个空数组时做了一些完全不同和意外的事情,那么可以在一个单独的


虽然,如果该方法根据其参数执行两个完全不同的操作,有人可能会问这样一个问题:为什么这不是两种不同的方法。

如果它们是您建议的两种不同的方法,那么即使文档类似于空数组的响应,也不必为空数组编写文档。在这种情况下,您可以使用文字类型,只需将参数类型设置为空数组。但是,由于空数组不传递任何信息,因此它毕竟是空的,参数是多余的,可以简单地删除。如果它们是您建议的两种不同的方法,那么即使文档类似于空数组,也不必记录空数组的响应。在这种情况下,请参见{Objectfoo_empty?}},您可以使用文字类型,只需将参数类型设置为空数组。但是,由于空数组不传递任何信息,因此它毕竟是空的,参数是多余的,可以简单地删除。