sort()

概要

方向に従ってソートされた入力 list を返し、コピーします。 方向 dir :Ascending または :Descendingする必要があります。 list [均一である必要があります。 list 内のすべての要素が適切なキー関数に指定されていない場合は数値( Integers / Numbers )( Strings )、またはアルファベットである必要があります。 エラーは、異種 list が指定されている場合、シグナルが発行されます。

2 次および 3 次の並べ替えも可能です。(キー関数の適用後に) 2 つの要素が等しい場合、それらを 2 次条件によって並べ替えるメカニズムがあります。" 並べ替え順序 " と " キー引数 Names 関数の list することができます。 最初の順序またはキーが 1 次並べ替え基準です。必要に応じて追加の条件が使用されます。

構文

sort ( list As List, _
       dir As Name, _
       Optional key As Name = :Identity) As List 
引数 [タイプ] 説明
list List ソートするには list を入力します。
dir Any ソートの方向を指定し、:Ascending または :Descendingすることができます。 すべての並べ替えキーに対して、各キーに特定の並べ替え方向を定義する値の list 各並べ替えキーの 1 つとして使用される単一の値として指定することができます。
key Any デフォルトは :Identityで並べ替えに使用するキーを取得するには、リスト内の各項目に適用する関数の名前を指定します(省略可能); ; します。 Key 関数は、数値または string の値を返す必要があり、マルチ レベルのソートを実行する関数の名前を指定することができます。 list

例 1

並べ替えキーを使用する
文字列値の逆の順序でソートされたIntent >sort({:a, :d, :r, :c, :b}, :Descending) 
--> {:r, :d, :c, :b, :a} 
名前値の単純なリストです。

例 2

ヘテロジニアスな list を使用してエラーが発生します。
Intent >sort({:a, :d, :r, 3.1, :b, :c}, :Ascending) 
エラー: 異種 list 'キー' 関数 #1 で処理した後に()を使用します。

並べ替えに使用されるキーは同種である必要があります。

例 3

エラー。既定の並べ替えキーが適用できない

Integer

Number

String
 または 
Name
キー関数 #1 を返しませんでした。 エラー :Intent >sort({{:a,:d}, {:r,:b}, {:c,:x}}, :Ascending) 

項目番号または strings 以外の list をソートするには、いずれかの数を返すか、または list のすべての項目に対する string キー関数の名前を指定する必要があります。 この例では、 lists 直接エラーを発生の list 並べ替えしようとします。

例 4

key 関数を使用します。
この例では 、Intent >sort({{:a,:d}, {:r,:b}, {:c,:x}}, :Ascending, key := :first) 
--> {{:a, :d}, {:c, :x}, {:r, :b}} 
lists キーと first 関数を使用して並べ替えられています。

例 5

別のキー関数を使用する
これらの 
lists
 キーと second 関数を使用してソートされました。Intent >sort({{:a,:d}, {:r,:b}, {:c,:x}}, :Ascending, key := :second) 
--> {{:r, :b}, {:a, :d}, {:c, :x}} 

例 6

2 つの並べ替えキーを使用する
 この例では、
lists
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}}
を 2 次キーとしては、プライマリキー関数 firstthird 関数を使用して並べ替えられています。

例 7

3 つの並べ替えキーを使用する
 2 次キーとして second 関数は、この例では 、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}}
プライマリキー lists first 関数を使用してソートされた、3 次キーとして機能します。 third 各並べ替えキーは昇順に適用されています。

例 8

キーごとに異なる並べ替え順を使用する
この例では、
lists
 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}} 
を 2 次キーとしては、プライマリキー関数 firstthird 関数を使用して並べ替えられていますが、並べ替え方向はそれぞれ昇順と降順で表示されます。 すべての並べ替え条件が同じ方向の場合、それを複製する必要はありません。上記の例 6 と 7 を参照してください。