Ich versteht nicht, die Rolle des Dickdarms in dem folgenden Lambda-Ausdruck:Doppelpunkt in einer Lambda-Funktion?
myFunction :: [Int] -> [Int]
myFunction li = foldr (\x acc -> if x < 10 then x : acc else acc) [last li] li
Ich bin es gewohnt, den Doppelpunkt für rekursive Aktionen zu sehen, aber es sieht aus wie dieser Doppelpunkt effektiv prepend sagen wird zu aktuelle Akku-Liste, ist das richtig?
Es ist eigentlich ein Vorlauf, kein Append. – redneb
Das ist die Listennotation *
*. Nicht viel mit Lambda zu tun. –kann es mit redundanten Klammern etwas klarer sein, '(\ x acc -> if (x <10) dann (x: acc) else acc)'. –