min($num1, ..., $numN)
$set.min()
Berechnet das Minimum der angegebenen Zahlen. Die Funktion kann entweder mit mehreren Argumenten oder einer Menge bzw. Liste aus Zahlen als Argument aufgerufen werden. null-Werte werden ausgefiltert und haben keinen Einfluss auf das Ergebnis.
Das Minimum bezüglich einer benutzerdefinierten Vergleichsfunktion kann über reduce berechnet werden:
cmp -> list ->
$list.reduce(null,
x -> y ->
if ($x == null, $y,
if ($cmp($x, $y) < 0, $y, $x)))
Die so definierte Funktion erwartet eine Komparatorfunktion als erstes und eine Liste als zweites Argument. Sie reduziert die Liste auf dasjenige Einzelelement, das verglichen über die Komparatorfunktion kleiner als jedes andere Element ist.
| Name | Typ | Beschreibung | Pflicht | Default |
|---|---|---|---|---|
| num | Zahl | Eine Zahl, die mit den anderen angegebenen Zahlen verglichen werden soll, um das Minimum zu ermitteln. | Einer von beiden muss definiert sein. | |
| set | Menge | Eine Menge von Zahlen, die miteinander verglichen werden sollen, um das Minimum zu ermitteln. |
Typ: Zahl
Die Zahl aus der angegebenen Menge an Zahlen, die am niedrigsten ist.
min(1, 8, 3, 10)
Ausgabe: 1
list(1, 8, 3, 10).min()
Ausgabe: 1
list(1, 8, 10, 8, 3, 10).min()
Ausgabe: 1
list(1, null, null, 8, 3, 10).max()
Ausgabe: 1
null Werte werden bei dem Vergleich ignoriert
{
cmpFun = a -> b -> if($a > $b, -1, 1);
(cmp -> list ->
$list.reduce("",
x -> y ->
if ($x == null, $y,
if ($cmp($x, $y) < 0, $y, $x)
)
)
).apply($cmpFun, list("c", "b", "d", "a"));
}
Ausgabe: a
Die Funktion min() kann nicht mit Zeichenketten umgehen, dafür muss für eine Minimumbestimmung bei Zeichenketten eine eigene Funktion definiert werden.