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
有两个类型参数,不是一个。这里发生了什么?这是一个错误吗?
最佳答案
您在生成的文档中看到的错误签名称为“用例”。他们应该通过展示理想化的 API 来澄清文档,类似于真实的 API,但省略了繁琐的细节(比如普遍存在的隐式 CanBuildFrom
参数 bothers some people)。
对于具有用例的方法,您可以通过单击方法名称以显示该方法的详细信息,然后单击“完整签名”以展开显示签名的另一部分来获取真实签名。
引用
Map
显示的错误数量的类型参数.此问题已于 2012 年 7 月关闭“不会修复”。@usecase def flatMap[B](f: A => TraversableOnce[B]): $Coll[B]
类似问题
关于scala - 为什么 Scaladoc 方法签名是错误的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26132459/