変数を宣言する前に lazy キーワードを付与することで、 最初に参照されるまで変数を初期化しないようにする。 一度参照されて計算されたらそのあと再計算されることはないので起動を高速化できる
これを遅延評価という。
scala> val x = 1 x: Int = 1 scala> lazy val lazyX = { println("init val"); x + 1 } lazyX: Int = <lazy> scala> lazyX init val res0: Int = 2 scala> lazyX res1: Int = 2