Wie kann ich eine Liste von aufeinander folgenden Paaren (Tupel) aus einer Liste ohne Rekursion bekommen?Fortlaufende Paare aus der Liste in Haskell
Zum Beispiel: [1, 2, 3, 4]
würde [(1, 2), (2, 3), (3, 4)]
Wie kann ich eine Liste von aufeinander folgenden Paaren (Tupel) aus einer Liste ohne Rekursion bekommen?Fortlaufende Paare aus der Liste in Haskell
Zum Beispiel: [1, 2, 3, 4]
würde [(1, 2), (2, 3), (3, 4)]
\xs -> zip xs $ tail xs
oder zip <*> tail
sein.
Letzteres wäre besser geschrieben "zip <*> Schwanz". Ich bin eigentlich kein großer Fan von diesen Funktion-Funktor-Hacks, aber ich muss zugeben, dass dies hier ziemlich nett ist. – leftaroundabout
Es spart hier keine Klammern also whatevz aber sicher. – Gurkenglas
'ap' ist jetzt etwas veraltet, da' Applicative' eine Oberklasse von 'Monad' ist (zumindest in GHC, und angenommen, dass es durch den Haskell-Standard 2014 übernommen wurde). – chepner
auch, '(\ xs-> [(x, y) | (x: y: _) <- Schwänze xs])'. ['tails'] (http://hackage.haskell.org/package/base-4.8.2.0/docs/Data-List.html#v:tails) wird mit Rekursion definiert, aber dann auch' zip'. –