Scaladoc [用例]

标签 scala documentation-generation scaladoc

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

示例:scala.collection.immutable.StringOps.++
它只是将来要替换的占位符吗?

最佳答案

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

在大多数情况下,集合的客户端不会指定这些隐式参数,因此 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]
 */

关于Scaladoc [用例],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4106817/

相关文章:

scala - 在 Slick 中捕获 future 失败的 SQL 错误

generics - 为什么示例不能编译,也就是(co-、contra- 和 in-)方差如何工作?

Enterprise Architect 中图表 "Hyperlinks"的文档?

python - django-rest-swagger 嵌套序列化器,只读字段未正确呈现

scala - 为什么 Scaladoc 方法签名是错误的?

scala - 如何使用 Scaladoc 生成类型层次结构图?

scala - Scala 中的参数或子类型多态性

javascript - JSDoc 3 如何读取带有#include 的.c 或.h 文件? (#为非法字符)

eclipse - 在 Eclipse 中查看 Scaladoc

Scala vals 可以修改