by shigemk2

当面は技術的なことしか書かない

Scalaの遅延評価

変数を宣言する前に 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