How can I do lazy variable initialization?
Ali Çehreli
acehreli at yahoo.com
Sat Jan 9 20:39:26 UTC 2021
On 1/9/21 12:35 PM, Ali Çehreli wrote:
> alias lightLoadOperation = memoize!heavyLoadOperation;
>
> const l = lightLoadOperation();
Well, that doesn't work the way you want but this does:
if (args.length == 1) {
writefln!"Using lazy variable: %s %s"(lightLoadOperation(),
lightLoadOperation());
}
No matter how many times you call lightLoadOperation, it will be called
just once (which can be configured with maxSize):
https://dlang.org/library/std/functional/memoize.html
Ali
More information about the Digitalmars-d-learn
mailing list