Funktionale Programmierung / Sort-Funktion

Sort-Funktion

".sort" bietet eine individuelle Sortier-Funktion.

Each

data = [ "Huber", "Müller", "Meier", "Koch" ]

data.sort( :e, e[1,3] > e[2,3] ).print

Die Variable "e" enthält hier eine Liste mit 2 Werten. Das zweite Argument muss zurückgeben, ob die Reihenfolge korrekt (true) oder falsch (false) ist.

In diesem Beispiel wird die Liste nach dem dritten Buchstaben der Wörter absteigend sortiert.

Durch "Deep Get / Set" wird mit "e[1,3]" in diesem Beispiel der 3.Buchstabe des ersten bzw. zweiten Wertes abgefragt.

FuncLet

Für komplexere Aufgaben kann die Sortierfunktion in eine eigene Funktion ausgelagert werden:

::mySort( Str a, Str b ) Bool = a[2] < b[2]
data = [ "Huber", "Müller", "Meier", "Koch" ]
data.sort( ::this.mySort ).print
- Powered by OghsWiki -

 

 

Unterstützen

Die Entwicklung von "JayMo" wird derzeit nur durch Eigeninitiative ermöglicht.

Erhalten:  0 €