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理解.
你没有使用你的变量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)