将元组元素(序列)更改为序列长度(int)

时间:2014-08-23 20:12:02

标签: arrays string f# tuples

我有这个noob问题我试图解决但我不能

我有

形式的元组数组
tuple: (string*(string*seq<string>)[])[] 

我希望将“seq”转换为序列长度(int)

我尝试了各种形式的

Seq.length 

但我无法做到,有人可以帮忙吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

此函数将嵌套序列映射到其长度:

let map arg : (string*(string*int)[])[] =
    arg |> Array.map (fun (s1, arr) ->
        s1, arr |> Array.map (fun (s2, coll) -> s2, Seq.length coll))

但是看到你所拥有的类型有多复杂,我想你是否代表它?你几乎肯定想要使用比这更美味的东西。

答案 1 :(得分:1)

Array.map (fun (s,e) -> s, Array.map (fun (s,e) -> s, Seq.length e) e) tupArray