Scalaでは、lazyキーワードを使用して、遅延評価させることができます。
例えば、値を使用するときまで計算を遅らせたい時などに使用できます。
lazyサンプル
def main(arts: Array[String]) : Unit = { val ls = new LazySample(2, 3) // クラス初期化時には計算されない println(ls.val3) // 初回参照のため、計算が実施される println(ls.val3) // 計算済みのため、値が返されるだけ } class LazySample(val val1: Int, val val2: Int) { lazy val val3: Int = { println("val3計算実施") val1 * val2 } } // 【出力結果】 // val3計算実施 // 6 // 6