gpt4 book ai didi

f# - List.map会不会每次都分配一个新的List?

转载 作者:行者123 更新时间:2023-12-01 06:12:32 24 4
gpt4 key购买 nike

让我们考虑以下列表:

// 2 2 2 1 1 1
let xs = [2;2;2;1;1;1]

// 2 2 2 1 1 1
let xs' = List.map (fun x -> x) list

// 4 4 4 1 1 1
let xs'' = List.map (fun x -> x * x) list

在第二种情况下 List.map 会分配一个新列表吗?在第三种情况下,xs 是否会与 xs'' 共享尾部 [1;1;1]

最佳答案

标准库倾向于使用此类函数的简单实现。

因此,这种类型的优化没有完成。

实现可以在这里找到:https://github.com/fsharp/fsharp/blob/master/src/fsharp/FSharp.Core/local.fs#L85

关于f# - List.map会不会每次都分配一个新的List?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37641526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com