Funktionale Programmierung / Amount-Funktion

Amount-Funktion

Mit ".amount" werden alle Werte einer Liste gegen eine Abfrage geprüft und die Anzahl an "true's" als Ergebnis zurück gegeben.

Dies eignet sich z.B. dafür, die Anzahl an Vorkommen eines Wertes zu ermitteln.

Each

data = [1,5,6,7,8,4,3,5,2,9,8,6,4,5]

data.amount( each == 5 ).print

In diesem Beispiel wird ermittelt, wie häufig die "5" in der Liste vorkommt.

Ebenso kann abgefragt werden, wie viele Zahlen kleiner oder gleich 5 sind:

data.amount( each <= 5 ).print

Für komplexere Abfragen können zwei Argumente übergeben werden, womit der Wert von "each" in einer Variable gespeichert wird.

 
data.amount( :x, x == 3 || x > 7 ).print

FuncLet

Die Abfrage kann auch in eine eigene Funktion ausgelagert werden. Diese benötigt hierfür genau einen Parameter:

::myAmount( val ) = val > 3

data = [1,5,6,7,8,4,3,5,2,9,8,6,4,5]
data.amount( ::this.myAmount ).print
- Powered by OghsWiki -

 

 

Unterstützen

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

Erhalten:  0 €