我有一个在其中存储3条记录的元组,我想按以下方式对元组进行排序。
原始元组为:
({X = 5; Y = 1; By = B}, {X = 4; Y = 0; By = B}, {X = 5; Y = 0; By = B})
我想得到:
({X = 4; Y = 0; By = B}, {X = 5; Y = 0; By = B}, {X = 5; Y = 1; By = B})
我希望元组先按X排序,然后按Y排序。我对F#相当陌生,因此我为此感到困惑。任何帮助表示赞赏。
答案 0 :(得分:2)
记录列表可能更正确。如果您必须正好有3件商品,并且希望订购它们,那么出于易用性,我可能至少会使用一个列表作为中间表示。
let sort (a,b,c) =
let l = [a;b;c] |> List.sortBy (fun r -> r.X, r.Y)
(l.[0], l.[1], l.[2])