0

在“Instance Attribute Summary”下的Ruby Twitter gem API 文档中,所有属性都被列为Object(例如:)http://rdoc.info/gems/twitter/Twitter/User,但可以更具体地指定它们,例如StringFixnum。为什么它们只是被列为Object而不是更具体的属性类型?

4

3 回答 3

0

将其称为对象本身并没有错,尤其是因为文档生成器可能不会立即知道将存储在属性中的对象的类型。Sphinx(为 python 项目自动生成文档)也出现了类似的问题。Sphinx 不知道一个类属性是否会有一个非零值(假设你是根据传递给类初始化器的东西来设置它)所以它告诉你属性的默认值是None(或nil)。

于 2013-07-01T01:55:18.180 回答
0

文档是通过解析源代码中手动编写的描述生成的,我猜参数类的规范是可选的。当它没有特别指定时,它表现为最一般的情况:Object.

于 2013-07-01T01:56:42.093 回答
0

rdoc.info使用yardgem 生成文档。它与 Ruby 的 rdoc 兼容,并且可以使用标签进行扩展,以告知其数据类型和其他可能对项目用户方便的细节。

这是我使用的一个项目中的一小段文档yard

# Probability of result equalling specific target
# @param [Integer] target
# @return [Float] in range (0.0..1.0)

简而言之,在 rdoc.info 上拥有指定参数和返回值的数据类型的文档是可能的,而且非常容易。不是每个项目都这样做。有些人可能有充分的理由或替代方法来说明用户应该如何学习正确的用法。许多 Ruby 项目只是更关注代码而不是文档。您可能会发现一个项目会欢迎一个尽职尽责的文档编写者提交将数据类型添加到 API 描述的拉取请求。

于 2013-07-01T07:39:13.970 回答