シンプルなもの
class Thunk[+A](body: => A) {
lazy val result: A = body;
}
どこかで定義されていますか?
あるいはもう少し洗練された
class Thunk[+A](body: => A) {
private[this] var evaluatedInternal = false;
lazy val result: A = {
evaluatedInternal = true;
body;
}
def evaluated: Boolean = evaluatedInternal;
}