let standard = (0, 4.5M, 4L)
let tuples = [| ("A", -2, 1.0M, 2L);
("B", -1, 2.0M, 3L);
("C", 0, 3.0M, 4L);
("D", 1, 4.0M, 5L);
("E", 2, 5.0M, 6L) |]
let qualified = tuples
|> Array.sortBy(fun (_, a, b, c) -> (a, -b, c))
|> Array.filter(fun (_, a, b, c) -> (a, b, c) <= standard)
printfn "%A" qualified
タプルの配列と標準があります。タプルをソートして、要件を満たすタプルをピックアップしたいと考えています。
タプルについては、最初の要素を無視し、2 番目の要素と 4 番目の要素を通常の方法で並べ替えますが、3 番目の要素も逆の順序で並べ替えます。2 番目の要素を含むすべてのタプルは少なくとも標準と同じ大きさであり、3 番目の要素は最大で標準と同じ大きさであり、修飾されたタプルです。上記の例では、修飾されたタプルは次のとおりです。("C", 0, 3.0M, 4L) |] 条件は次のとおりです: 2 番目の要素 >= 0 および 3 番目の要素 <= 4.5M および 4 番目の要素 >= 4L しかし、私のコードは機能しませんでした! この仕事をすることができる関数を書く方法を教えてください! ありがとう、良い週末を。ジョン