Ho un problema con una funzione che dovrebbe solo restituire la coda di una lista. Le funzioni sono myTail e dovrebbero dare un risultato utilizzabile, anche se l'input è una lista vuota.Funzione coda haskell per liste vuote
voglio capire tutti i 3 modi: pattern matching, equazione custodito e le espressioni condizionali
funziona:
> myTail_pat :: [a] -> [a]
> myTail_pat (x:xs) = xs
> myTail_pat [] = []
ma questo:
> myTail_guard (x:xs) | null xs = []
> | otherwise = xs
mi dà l'errore: Programma error: pattern match failure: myTail_guard [] Come posso dichiarare la funzione senza pattern?
Grazie.
potrebbero aiutarvi: http://cs.anu.edu.au/Student/comp1100/haskell/tourofsyntax.html# Guardie – Artelius
si può solo fare 'myTail = drop 1' – newacct
La versione di corrispondenza del modello è comunque più simile a haskell. – Rayne