Scaladoc [用例]

时间:2010-11-05 14:30:01

标签: scala documentation-generation scaladoc

为什么Scaladoc中的某些方法描述以[use case]开头?

示例:scala.collection.immutable.StringOps.++

它是否只是将来要替换的占位符?

1 个答案:

答案 0 :(得分:24)

它们是如何调用这些方法的简化示例。通常这些方法(++mapflatMap等)包含一个隐式参数,通常是一个称为构建器工厂的参数(简单地说)抽象创建结果集合。 / 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