0 Daumen
146 Aufrufe

Ich versuche, eine einzeilige Funktion zu schreiben, in die man eine Zahl und eine Liste eingibt, und die den höchsten Wert zurückgibt.

Zum Beispiel:

Input:

getMax 5 [1,4,7]
Output:

7
Hier ist mein aktueller Code:

getMax :: (Ord a) => a -> [a] -> a
getMax f xs = foldr max f xs
Nun möchte ich meine Funktion so erweitern, dass ich statt einer Zahl eine Anonyme-Funktion eingeben kann, die verglichen werden soll.

Zum Beispiel:

Input:

getMax (\x -> mod x 5) [1,4,7]
Output:

4
Aber ich kann es nicht zum Funktionieren bringen.

Ich erhalte eine Fehlermeldung:

No instance for (Show (Integer -> Integer))
was ich nicht wirklich verstehe.

Ich habe versucht, die Typsignatur zu ändern, aber das hat nicht geholfen.

Vielen Dank im Voraus!

Avatar von

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

1 Antwort
0 Antworten
Gefragt 2 Dez 2022 von T0my
1 Antwort

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community