BBH
-Biz Branding Hub-
投稿日 : 
2020/10/19
更新日 : 
2020/10/19

【Scala】lazyを使って遅延評価せる

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

Profile

管理人プロフィール

都内でITエンジニアをやってます。
変遷:中規模SES→独立系SIer→Webサービス内製開発
使用技術はその時々でバラバラですが、C#、AWSが長いです。
どちらかと言うとバックエンドより開発が多かったです。
顧客との折衝や要件定義、マネジメント(10名弱程度)の経験あり。
最近はJava+SpringBootがメイン。

Recommend