8

Scala API中有很多地方,特别是在集合中,方法签名是错误的。

例如,Map的 scaladoc 签名。flatMap

def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): Map[B]

但实际签名是

flatMap[B, That](f: ((A, B)) ⇒ GenTraversableOnce[B])
    (implicit bf: CanBuildFrom[Map[A, B], B, That]): That

这个特别没有意义,因为 scaladoc 签名包括Map[B], 但Map有两个类型参数,而不是一个。

这里发生了什么?这是一个错误吗?

4

1 回答 1

13

您在生成的文档中看到的不正确签名称为“用例”。他们应该通过显示理想化的 API 来澄清文档,类似于真实的 API,但省略了繁琐的细节(比如困扰某些人CanBuildFrom的普遍隐式参数)。

对于带有用例的方法,您可以通过单击方法名称以显示该方法的详细信息,然后单击“完整签名”以展开另一个显示签名的部分来获取真正的签名。

参考

类似问题

于 2014-10-01T00:47:26.777 回答