[Scala]lazyについて

lazyというのは、値を遅延評価する宣言

// lazyをつけると、値の評価が初回アクセス時にのみ行われる
lazy val a = { println("評価"); "a" }

println( a ) // 初回の参照。ここでval aの評価が行われる
println( a ) // これ以降は、val aの評価はなし

lazyは「var」や「def」に設定することはできません。

Scala

Posted by GENDOSU