【问题标题】:YARD documentation for a method that returns a class返回类的方法的 YARD 文档
【发布时间】:2017-05-22 07:08:55
【问题描述】:

我需要标记返回类而不是实例的方法的@return 类型。示例:

# @return [String]  # This implies that the return type is a String object
def string_class
  String            # The method actually returns the String class itself
end

YARD 有这方面的标准吗?我的第一个猜测是@return [Class<String>],但我找不到类似的文档。

【问题讨论】:

  • 我只想写@return [Class]

标签: ruby yard


【解决方案1】:

根据 YARD 团队自己的说法,记录所提供示例的首选方式是 Class<String>。参考:https://github.com/lsegal/yard/issues/1109

【讨论】:

  • 谢谢!我一直在寻找这个。
【解决方案2】:

在 ruby​​ 中,(几乎)一切都是一个对象,包括类本身!

String.class == Class

(有a class called Class,其中String是一个实例。)因此,您可以像这样记录方法:

# @return [Class]
def string_class
  String
end

【讨论】:

  • 我知道我可以使用 Class,但如果可能的话,我想将它专门记录为 String 类。目标是使用 YARD API 来查找返回类型的方法。在此示例中,我希望结果包含 String.try_convert。
  • 嗯,对了,我明白了。我不知道这在 YARD 语法中是否可行(我必须进行更多研究……),但您也可以考虑将其记录为返回对象应响应的鸭子类型方法:@return [#try_convert]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-04
  • 2013-06-30
相关资源
最近更新 更多