你知道,使这项工作的最好方式:FST和fsharp 3元组
let toTableau2D (seqinit:seq<'a*'b*'c>) =
let myfst = fun (a,b,c) -> a
let myscd = fun (a,b,c) -> b
let mytrd = fun (a,b,c) -> c
let inputd = seqinit |> groupBy2 myfst myscd
必有不是重写FST更好的办法..
UPDATE 垫后通知,我改写了包装之前的“A *” b成单一结构 我的代码现在看起来像
let toTableau (seqinit:seq<'a*'b>) =
let inputd = seqinit |> Seq.groupBy fst |> toMap
let keys = seqinit |> Seq.map fst |> Set.ofSeq |> List.ofSeq
...
因为我在我的函数中有其他操作。我将编辑问题 – nicolas 2012-03-01 15:20:33
以及注意。 THKS – nicolas 2012-03-01 16:19:55