【发布时间】:2011-07-13 18:35:32
【问题描述】:
我刚刚开始 F#,所以如果这是基本的,请善待。
我读过一个标记为惰性的函数只被评估一次,然后被缓存。例如:
let lazyFunc = lazy (1 + 1)
let theValue = Lazy.force lazyFunc
与每次调用时实际运行的此版本相比:
let eagerFunc = (1 + 1)
let theValue = eagerFunc
基于此,所有函数是否应该变得惰性?你什么时候不想?这来自“Beginning F#”一书中的材料。
【问题讨论】:
-
这是什么版本的 F#?我有一个序列是懒惰的,但不是以这种方式公开创建的。我正在尝试强制它完成。
标签: f# lazy-evaluation