scala - 如何在 Scala 中将 Nil 识别为 List 类中的方法

标签 scala

我有下面的代码行,它在 Scala 中构造了一个列表。

val oneTwoThree = 1 :: 2 :: 3 :: Nil

解释说“最后需要 Nil 的原因是 :: 定义在类 List 上。如果你试着只说 1 :: 2 :: 3 ,它不会编译,因为 3 是一个 Int ,它没有 :: 方法。”

但是在这行代码中,无处是 List类提到。有人可以帮我了解如何Nil List 中的方法然后正确调用类?

最佳答案

Nil (参见 here )是一个 Scala 对象(单例实例),它有一个 ::返回 List 的方法.

由于以冒号结尾的方法名称规则,3 :: Nil翻译成Nil.::(3)然后返回 List(3) . List类(class)也有::方法如此 2 :: List(3)翻译成List(3).::(2)返回 List(2,3) .等等。

关于scala - 如何在 Scala 中将 Nil 识别为 List 类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55154760/

相关文章:

scala - 设置使SBT在错误时快速失败(停止)

scala - Spark on YARN 和 spark-bigquery 连接器

java - Spark-maven 全新安装 : How to compile both Java and Scala classes

scala - future 列表中 foldleft 的参数

scala - elastic4s:rawQuery 得分保持在 1

eclipse - Scala Eclipse 自动完成损坏?

scala - 基本过滤器 Play Framework 2 中的访问请求正文

scala - 如何在 Squeryl 中的列组合中唯一索引

scala - Akka HTTP 客户端 websocket 流的定义

scala - Spark 中的数据操作