Groovyで2回目の呼び出し以降は計算せず高速で値を返却するメソッドを作る
2回目の呼び出し以降は計算せず高速で値を返却するメソッドを作ってみました。 いわゆるメモ化ですね。Groovyの場合はクロージャが使えるので、理解しやすいと思います。
動作環境
Groovy Version: 3.0.2 JVM: 14 Vendor: Oracle Corporation OS: Windows 10
ソース
def calc(num1, num2) { def num = num1 + num2 // 計算結果をここで保持 return { num } // 計算結果を返すクロージャを返す } def doCalc = calc(5, 8) assert doCalc() == 13