首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scaladoc [用例]

Scaladoc [用例]
EN

Stack Overflow用户
提问于 2010-11-05 22:30:01
回答 1查看 1.9K关注 0票数 13

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

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

它只是一个将来要被替换的占位符吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-05 22:52:31

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

在大多数情况下,集合的客户端不指定这些隐式参数,因此ScalaDoc允许定义方法的简化描述-用例。这使用户能够快速了解所讨论的方法背后的想法,而不会为CanBuildFrom的含义和使用方式而烦恼。

例如,这是++的完整声明

代码语言:javascript
复制
def ++[B >: A, That](that: TraversableOnce[B])(implicit bf: CanBuildFrom[Repr, B, That]): That

在大多数情况下,目标集合类型与调用的接收方相同,因此调用看起来很像下面的声明(假设在List上定义了++ ):

代码语言:javascript
复制
def ++(that: TraversableOnce[A]): List[A]

上面,隐式是在编译时解析的,类型参数是推断出来的。在大多数情况下,这应该是方法的客户端视图。

如果你想用用例注释你自己的方法,在你的文档注释中使用@usecase标签:

代码语言:javascript
复制
/** ...
 *  ...
 *  @usecase def ++(that: TraversableOnce[A]): List[A]
 */
票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4106817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档