for example smth like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
let a1 = [| ("A", [|1.0f|]); ("B", [|1.0f; 2.0f|]); ("C", [|1.0f; 2.0f; 3.0f|]) |]
let a2 = [| ("C", [|4.0f; 5.0f|]); ("B", [|3.0f; 4.0f|]); ("A", [|2.0f|]) |]

let f a b = 
    let lookup = 
        b  |> dict

    a
    |> Array.map (fun ((k1, v1) as kv1) ->
        match lookup.TryGetValue k1 with
        | true, v2 -> k1, Array.append v1 v2
        | false, _ -> kv1
        )


let sumA = [| ("A", [|1.0f; 2.0f|]); ("B", [|1.0f; 2.0f; 3.0f; 4.0f|]); ("C", [|1.0f; 2.0f; 3.0f; 4.0f; 5.0f|]) |]

let sumB = f a1 a2
printfn "%b" (sumA = sumB) // true
By on 12/18/2010 1:57 AM ()

Thank you very much!
Your code works!
Have a nice weekend!

By on 12/18/2010 3:09 AM ()
IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper