F# 懒惰评估介绍
示例
包括F#在内的大多数编程语言都会根据称为“严格评估”的模型立即评估计算。但是,在惰性评估中,只有在需要计算时才对计算进行评估。F#允许我们通过lazy关键字和来使用惰性评估sequences。
//定义惰性计算 let comp = lazy(10 + 20) //我们需要强制结果 let ans = comp.Force()
此外,在使用“惰性评估”时,将缓存计算结果,因此,如果我们在强制执行第一个实例之后强制执行结果,则表达式本身将不会再次被评估
let rec factorial n =
if n = 0 then
1
else
(factorial (n - 1)) * n
let computation = lazy(printfn "Hello World\n"; factorial 10)
//你好世界将被打印
let ans = computation.Force()//HelloWorld将不会在此处打印
let ansAgain = computation.Force()
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短