gpt4 book ai didi

f# - 从格式化的 map 初始化序列

转载 作者:行者123 更新时间:2023-12-04 17:59:58 24 4
gpt4 key购买 nike

所以我有一个 Map<int, Map<int, string>>数据结构,我可以像这样打印出来:

aMap 
|> Map.iter(fun key value -> value
|> Map.iter(fun k v -> printf "Foo: %d\nBar: %d\nValue: %s" key k v))

这很好用,但我想尝试将具有上述字符串格式的 Map 元素附加到 seq<string>

在保持“功能性”的同时做到这一点的最有效方法是什么?

最佳答案

您始终可以将 map 转换为序列:aMap |> Map.toSeq

您还可以使用 Map.map 进行其他转换(而不是 Map.iter)。

通常,浏览您正在使用的集合的引用部分会有所帮助: https://msdn.microsoft.com/ja-jp/library/ee353880.aspx

编辑:

aMap
|> Map.toSeq
|> Seq.collect(fun (k,v) ->
v
|> Map.toSeq
|> Seq.map(fun (x,y) -> sprintf "Foo: %d Bar: %d Value: %s" k x y))
|> Seq.iter(printfn "%A")

版本 2:

aMap
|> Seq.collect(fun x ->
x.Value
|> Seq.map(fun y -> sprintf "Foo: %d Bar: %d Value: %s\n" x.Key y.Key y.Value))
|> Seq.iter(printfn "%A")

https://dotnetfiddle.net/Il5zv9

关于f# - 从格式化的 map 初始化序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36686395/

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