为什么Scaladoc中的一些方法描述以[use case]开头
示例:scala.collection.immutable.StringOps.++
它只是一个将来要被替换的占位符吗?
发布于 2010-11-05 22:52:31
它们是如何调用这些方法的简化示例。通常这些方法(++、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]
*/https://stackoverflow.com/questions/4106817
复制相似问题