如何在 F# 中打印地图的内容

sil*_*der 2 f#

我是 F# 新手,正在尝试打印地图的内容。我的代码如下:

let ids = CSVReader.ReadCSVFile(id, true).AsEnumerable()
            |> Seq.groupBy( fun (id, _, _) -> id )
            |> Seq.map( fun (_, vseq) ->
                            let vseqr = vseq |> Seq.sortBy( fun (_, _, d) -> -d ) |> Seq.head
                            let first (x1:string, x2:string, x3:int) = x1
                            let second (x1:string, x2:string, x3:int) = x2
                            (first vseqr, second vseqr)
                      )
            |> Map.ofSeq
Run Code Online (Sandbox Code Playgroud)

我想打印 Map.ofSeq 中的内容

Phi*_*ter 6

F# 有一个内置漂亮的打印机和%A格式。

所以这:

let lst = [(1, "hello"); (2, "world")]
printfn "%A" (Map.ofList lst)
Run Code Online (Sandbox Code Playgroud)

产量:

map [(1, "hello"); (2, "world")]
Run Code Online (Sandbox Code Playgroud)

如果你想以不同的方式打印内容,你需要像这样编写自己的例程:

map [(1, "hello"); (2, "world")]
Run Code Online (Sandbox Code Playgroud)

这将产生:

1: hello
2: world
Run Code Online (Sandbox Code Playgroud)