【问题标题】:F#'s list is eager or lazy evaluated? Or only "seq" is lazy evaluated in F#F# 的列表是急切的还是懒惰的评估?或者只有“seq”在 F# 中被惰性求值
【发布时间】:2016-02-25 09:19:31
【问题描述】:

F# 中哪些元素是惰性求值的,哪些元素是急切求值的? 据我所知,如果“seq”是惰性评估的,这是否意味着“list”是渴望评估的? 我怎么证明?谢谢

【问题讨论】:

标签: list f# lazy-evaluation evaluation seq


【解决方案1】:

是的,列表是急切的。您可以尝试在任务管理器中观看它,例如:

#time
let l = List.init 100000000 (fun x -> 0.)
let s = Seq.init 100000000 (fun x -> 0.)
let s2l = s |> Seq.take 10000000 |> Seq.toList

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    • 2012-03-05
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    相关资源
    最近更新 更多