Unterteilt die Elemente einer Liste in eine Liste mit Listen, die jeweils die Listen elemente enthalten, die die zugehörigen Schlüssel- und Testkriterien erfüllen. Allerdings können werde die Reihenfolge der Untergruppen noch die Reihenfolge der darin enthaltenen Elemente als verlässlich angesehen werden.
partition ( list As List, _ Optional key As Name = :Identity, _ Optional test As Name = :Equal) As List
Argument | Typ | Beschreibung |
---|---|---|
List | Liste | Die zu unterteilende Liste |
key | Name | Optional. Der Name der Funktion, die für jedes Element der Liste aufgerufen werden soll. Vorgabe ist :Identity. Der Rückgabewert dieser Funktion wird mit den Kriterien der Testfunktion verglichen. |
test | Name | Optional. Der Name der Testfunktion, die auf die Ergebnisse von key aus der Liste angewendet werden soll. Vorgabe ist :Equal. |
Intent ->partition({"a", "b", "c", "c", "e", "z", "x", "c", "e"}) --> {{"x"}, {"z"}, {"e", "e"}, {"c", "c", "c"}, {"b"}, {"a"}}
Intent ->partition({"a", "c", "b", "c", 1, 3, "c", 3, 2, 1}) --> {{2}, {3, 3}, {1, 1}, {"b"}, {"c", "c", "c"}, {"a"}}
Intent ->partition({:a, :c, "b", :c, 1.1, 3, :c, 3, 2, 1}, key := :integer?) --> {{ 1, 2, 3, 3}, {c, 1.1, c, "b", c, a}}
Function integer?(item As Any) As Boolean integer? = (typeName(item) = :integer) End Function
Intent >partition({"abc", "123", "24", "xyz", "35"}, key := :length) --> {{"35", "24"}, {"xyz", "123", "abc"}}Die Reihenfolge des Ergebnisses kann auch abweichen.