Looking for haskell Keywords? Try Ask4Keywords

Haskell LanguageListen


Syntax

  1. leerer Listenkonstruktor

    [] :: [a]

  2. Nicht leerer Listenkonstruktor

    (:) :: a -> [a] -> [a]

  3. head - gibt den ersten Wert einer Liste zurück

    head :: [a] -> a

  4. last - gibt den letzten Wert einer Liste zurück

    last :: [a] -> a

  5. tail - gibt eine Liste ohne den ersten Eintrag zurück

    tail :: [a] -> [a]

  6. init - gibt eine Liste ohne den letzten Eintrag zurück

    init :: [a] -> [a]

  7. xs !! i - gibt das Element an einem Index i in Liste xs zurück

    (!!) :: Int -> [a] -> a

  8. take n xs - neue Liste mit n ersten Elementen der Liste xs zurückgeben

    take :: Int -> [a] -> [a]

  9. map :: (a -> b) -> [a] -> [b]

  10. filter :: (a -> Bool) -> [a] -> [a]

  11. (++) :: [a] -> [a]

  12. concat :: [[a]] -> [a]

Bemerkungen

  1. Der Typ [a] entspricht [] a .
  2. [] die leere Liste.
  3. [] in einer Funktionsdefinition LHS, zB f [] = ... , ist das leere Listenmuster.
  4. x:xs eine Liste, in der der Liste xs ein Element x vorangestellt wird
  5. f (x:xs) = ... ist eine Musterübereinstimmung für eine nicht leere Liste, wobei x der Kopf und xs der Schwanz ist.
  6. f (a:b:cs) = ... und f (a:(b:cs)) = ... sind gleich. Sie sind eine Musterübereinstimmung für eine Liste von mindestens zwei Elementen, wobei das erste Element a , das zweite Element b ist und der Rest der Liste cs .
  7. f ((a:as):bs) = ... ist NICHT dasselbe wie f (a:(as:bs)) = ... Ersteres ist eine Musterübereinstimmung für eine nicht leere Liste von Listen, wobei a der Kopf des Kopfes ist, as wie der Schwanz des Kopfes, und bs der Schwanz ist.
  8. f (x:[]) = ... und f [x] = ... sind gleich. Sie sind eine Musterübereinstimmung für eine Liste genau eines Elements.
  9. f (a:b:[]) = ... und f [a,b] = ... sind gleich. Sie sind eine Musterübereinstimmung für eine Liste von genau zwei Elementen.
  10. f [a:b] = ... ist eine Musterübereinstimmung für eine Liste genau eines Elements, bei dem das Element auch eine Liste ist. a ist der Kopf des Elements und b ist der Schwanz des Elements.
  11. [a,b,c] ist dasselbe wie (a:b:c:[]) . Die Standardlistennotation ist nur syntaktischer Zucker für die Konstruktoren (:) und [] .
  12. Sie können all@(x:y:ys) verwenden, um auf die gesamte Liste als all (oder einen beliebigen anderen Namen all@(x:y:ys) zu verweisen, anstatt sie (x:y:ys) erneut zu wiederholen.

Listen Verwandte Beispiele