迭代F#中的嵌套序列 - 如何?

Bre*_*anC 3 iteration f# nested sequence

我可以在F#中定义一个简单的列表,如下所示,并使用以下代码迭代它:

let ar = [0;1;2;3]
ar |> Seq.iter (fun x -> printfn "Ar: %A" x)
Run Code Online (Sandbox Code Playgroud)

现在考虑一个嵌套序列如下:

let ar1 = [1;2;3;4]
let ar2 = [5;6;7;8]
let nested_array = [ar1; ar2]
Run Code Online (Sandbox Code Playgroud)

如何对此进行迭代 - 以下代码出现错误:

'lambda表达式中的意外中缀运算符'

我在这里要做的是迭代外部序列并将其转发到第二个迭代器,然后让我访问内部数组的内容.

nested_array |>
Seq.iter (fun x -> |> 
                    Seq.iter  (fun y ->
                    printfn "Ar: %A" y))
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么 - 我怀疑语法问题或(更严重/可能)缺乏F#/ FP理解.

kvb*_*kvb 6

你没有使用你的变量x.试试

nested_array |> Seq.iter (fun x -> x |> Seq.iter (fun y -> printfn "Ar: %A" y))
Run Code Online (Sandbox Code Playgroud)

或(x完全取消使用)

nested_array |> Seq.iter (Seq.iter (fun y -> printfn "Ar: %A" y))
Run Code Online (Sandbox Code Playgroud)

甚至(消除y)

nested_array |> Seq.iter (Seq.iter (printfn "Ar: %A"))
Run Code Online (Sandbox Code Playgroud)