Scala:目的就像特征上的后缀,例如IndexSequenceLike

标签 scala traits

我看到名称以 Like 结尾对于许多 Scala 类型。这些特征的目的是什么?
例如 IndexSequenceLike , 或 QueryLike , ETC。

最佳答案

Like 后缀用于实现特征,类似于 Java 如何使用“Impl”来实现接口(interface)。

http://docs.scala-lang.org/overviews/core/architecture-of-scala-collections.html

Scala trait 类似于 Java 接口(interface),只是更好,因为 trait 可以包含函数定义,而不仅仅是声明。
IndexedSeqLike因此,trait 是 IndexedSeq 的实现。特征(界面)。当添加到类定义中时,它的实现方法会随之而来。

这允许在 Scala 库中重用代码,并有助于实现 Iterator 应始终返回相同类型的约定。

关于Scala:目的就像特征上的后缀,例如IndexSequenceLike,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24171819/

相关文章:

rust - 如何为实现特定特征的所有类型批量实现反序列化?

list - 反向列表 Scala

java - 使用大小为 N 的自定义字母表将基数 10 的数字转换为基数 (Scala)

scala - java.lang.IllegalArgumentException : BasicBSONList can only work with numeric keys, 不是:[_id]

debugging - 使用Formatter::debug_list实现二维数组的Debug

rust - 为实现特定类型的 trait 的泛型类型实现 trait

rust - 默认的通用实现中可能存在错误?

scala - Spark scala - 在 df 中查找非零行

scala - Scala 'for' 枚举器中的隐式?

rust - 整理 Self 和方法的不同生命周期