Ich sehe die FunktionWas ist die Schreibweise (_: xs) in haskell?
last_element :: [a] -> a
last_element (_:xs)= last_element xs
Ich verstehe nicht, den Unterstrich Doppelpunkt in "(_: xs)". Ich habe gelesen, dass es den Kopf von der eingegebenen Liste trennt. Entfernt der Unterstrich-Doppelpunkt nur die erste Ziffer oder den "Kopf" der Liste auf primitive rekursive Weise?
bearbeiten, von meinem Verständnis würde diese Funktion einen Basisfall fehlen. Ist das richtig?
In OPs Beispiel fehlt jedoch ein Basisfall. – gallais
Wie unterscheidet sich die Verwendung eines Unterstrichs ohne den Doppelpunkt? Ich glaube, Sie können Mustervergleich von sagen, (Int, String), nur von (_ "Hallo") tun, nicht wahr? –
Der Doppelpunkt ist der Operator [Nachteile] (https://en.wikipedia.org/wiki/Cons). '(x: xs)' entspricht dem ersten Element einer Liste als 'x' und der Rest der Liste als' xs'. Da Ihre Funktion nicht das erste Element in der Liste verwendet, ignoriert sie es mit dem Unterstrich. –