为什么Scaladoc中的某些方法描述以
例如:
这只是一个占位符,以便在将来被替换吗?
[用例]
开头?例如:
scala.collection.immutable.StringOps.++
。这只是一个占位符,以便在将来被替换吗?
[用例]
开头?scala.collection.immutable.StringOps.++
。以下是这些方法被调用的简化示例。通常这些方法(++
, map
, flatMap
等)包含一个隐式参数,最常见的参数叫做构建器工厂,它(简单来说)抽象了结果集合的创建过程。
在大多数情况下,集合的客户端不需要指定这些隐式参数,因此ScalaDoc允许定义方法的简化描述 - 使用案例。这使得用户能够快速理解所涉及的方法的思想,而不需要关心例如CanBuildFrom
的含义以及它的使用方式。
例如,这是++
的完整声明:
def ++[B >: A, That](that: TraversableOnce[B])(implicit bf: CanBuildFrom[Repr, B, That]): That
在大多数情况下,目标集合类型与调用接收者相同,因此该调用看起来就像是以下声明(假设++
定义在例如List
上):
def ++(that: TraversableOnce[A]): List[A]
上面的代码在编译时解析隐式参数并推断类型参数。对于大多数情况下,这应该是客户端调用方法的视角。
如果你想为自己的方法添加用例注释,可以在文档注释中使用@usecase
标签:
/** ...
* ...
* @usecase def ++(that: TraversableOnce[A]): List[A]
*/