dir に従って並べ替えられた入力一覧のコピーを返します。方向 dir は:Ascending または:Descending である必要があります。一覧は同種である必要があります。適切なキー関数が指定されていない限り、一覧のすべての要素は数字(整数や数値)またはアルファベット(文字列)である必要があります。異種の一覧が指定されている場合には、エラーが示されます。
2 次および 3 次の並べ替えも可能です。(キー関数の適用後に) 2 つの要素が等しい場合、それらを 2 次条件によって並べ替えるメカニズムがあります。「並べ替え順」と「キー関数」の引数には名前の一覧を使用できます。最初の順序またはキーが 1 次並べ替え基準です。必要に応じて追加の条件が使用されます。
sort ( list As List, _ dir As Name, _ Optional key As Name = :Identity) As List
引数 | [タイプ] | 説明 |
---|---|---|
list | [一覧] | 並べ替える入力一覧です。 |
dir | すべて | 並べ替え方向を指定します。:Ascending または:Descending を使用できます。すべての並べ替えキーに使用される単一の値か、各キーに特定の並べ替え方向を定義する、各並べ替えキーに対して 1 つの値の一覧を指定できます。 |
key | すべて | 任意指定。並べ替えに使用する "キー" を取得するための一覧内の各項目に適用する関数の名前を指定します。既定は:Identity です。キー関数は数値または文字列値を返す必要があり、関数名の一覧を指定してマルチレベルの並べ替えを実行することができます。 |
Intent >sort({:a, :d, :r, :c, :b}, :Descending) --> {:r, :d, :c, :b, :a}文字列値の逆順で並べ替えられた、名前の値の単純な一覧を返します。
Intent >sort({:a, :d, :r, 3.1, :b, :c}, :Ascending)エラー。('キー' 関数 #1 で処理した後に)異種の一覧です。
並べ替えに使用されるキーは同種である必要があります。
Intent >sort({{:a,:d}, {:r,:b}, {:c,:x}}, :Ascending)エラー。キー関数 #1 が整数、数値、文字列、または名前を返しませんでした。
数値または文字列以外の項目の一覧を並べ替えるには、一覧内のすべての項目に数値または文字列を返すキー関数の名前を指定する必要があります。この例では、複数の一覧の一覧を並べ替えようとする試みが直接エラーを発生させています。
Intent >sort({{:a,:d}, {:r,:b}, {:c,:x}}, :Ascending, key := :first) --> {{:a, :d}, {:c, :x}, {:r, :b}}この例の一覧は、最初の関数をキーとして使用して並べ替えられています。
Intent >sort({{:a,:d}, {:r,:b}, {:c,:x}}, :Ascending, key := :second) --> {{:r, :b}, {:a, :d}, {:c, :x}}これらの一覧は、2 番目の関数をキーとして使用して並べ替えられています。
Intent >sort({{4,:a,7}, {1,:c,4}, {4,:a,5}, {1,:c,3}, {1,:a,5}}, :Ascending, key := {:first, :third}) --> {{1, :c, 3}, {1, :c, 4}, {1, :a, 5}, {4, :a, 5}, {4, :a, 7}}この例の一覧は、最初の関数を 1 次キーとして、3 番目の関数を 2 次キーとして使用して並べ替えられています。
Intent >sort({{4,:a,7}, {1,:c,4}, {4,:a,5}, {1,:c,3}, {1,:a,5}}, :Ascending, key := {:first, :second, :third}) --> {{1, :a, 5}, {1, :c, 3}, {1, :c, 4}, {4, :a, 5}, {4, :a, 7}}この例の一覧は、最初の関数を 1 次キーとして、2 番目の関数を 2 次キーとして、3 番目の関数を 3 次キーとして使用して並べ替えられています。各並べ替えキーは昇順に適用されています。
Intent >sort({{4,:a,7}, {1,:c,4}, {4,:a,5}, {1,:c,3}, {1,:a,5}}, {:ascending, :descending}, key := {:first, :third}) --> {{1, :a, 5}, {1, :c, 4}, {1, :c, 3}, {4, :a, 7}, {4, :a, 5}}この例の一覧は、最初の関数を 1 次キーとして、3 番目の関数を 2 次キーとして並べ替えられています。ただし、並べ替え方向はそれぞれ昇順と降順です。すべての並べ替え条件が同じ方向の場合、それを複製する必要はありません。上記の例 6 と 7 を参照してください。