为什么Scaladoc中的某些方法描述以[use case]
开头?
示例:scala.collection.immutable.StringOps.++
它是否只是将来要替换的占位符?
答案 0 :(得分:24)
它们是如何调用这些方法的简化示例。通常这些方法(++
,map
,flatMap
等)包含一个隐式参数,通常是一个称为构建器工厂的参数(简单地说)抽象创建结果集合。 / p>
在大多数情况下,集合的客户端不指定这些隐式参数,因此ScalaDoc允许定义方法的简化描述 - 用例。这使得用户能够快速了解所讨论的方法背后的想法,而不是被例如什么困扰。 CanBuildFrom
表示以及如何使用它。
例如,这是++
的完整声明:
def ++[B >: A, That](that: TraversableOnce[B])(implicit bf: CanBuildFrom[Repr, B, That]): That
在大多数情况下,目标集合类型与调用的接收者相同,因此调用看起来好像声明如下(假设++
在a上定义,比如{{ 1}}):
List
上面,隐式在编译时解析,并推断出类型参数。在大多数情况下,这应该是客户对方法的看法。
如果您想使用用例注释自己的方法,请在文档注释中使用def ++(that: TraversableOnce[A]): List[A]
标记:
@usecase