scala Predef对象中无法识别的代码

Sac*_*n K 5 scala

有人可以在Predef对象中解释以下代码吗?谢谢.

scala.`package`     // to force scala package object to be seen.
scala.collection.immutable.List // to force Nil, :: to be seen.
Run Code Online (Sandbox Code Playgroud)

0__*_*0__ 7

(链接).我只能猜测.当您使用单个对象作为表达式时,这与强制a的求值具有相同的效果lazy val,换句话说,如果它尚未初始化,它将运行对象的主体.

例如:

object Foo {
  println("Foo is launching rockets...")
}
Run Code Online (Sandbox Code Playgroud)

现在你写的时候

Foo   // prints `Foo is launching rockets...`
Run Code Online (Sandbox Code Playgroud)

这强制评估内容Foo.

所以我的猜测是,Predef这只是确保scala包对象中的某些东西List被初始化.非常不可能你会打扰用户.