Extensión de un fichero
La extensión de un fichero es la palabra a continuación del último punto en el nombre del fichero. Por ejemplo, la extensión de "documento.txt" es "txt"
Definir la función
extension :: String -> String
tal que (extension cs) es la extensión del fichero cs. Por ejemplo,
extension "ejercicio.hs" == "hs" extension "documento.txt" == "txt" extension "documento.txt.pdf" == "pdf" extension "resumen" == ""
Soluciones
-- 1ª definición (por recursión): extension1 :: String -> String extension1 cs | elem '.' cs = reverse (aux (reverse cs)) | otherwise = "" where aux [] = [] aux ('.':cs) = [] aux (c:cs) = c : aux cs -- 2ª definición (con takeWhile): extension2 :: String -> String extension2 cs | notElem '.' cs = "" | otherwise = reverse (takeWhile (/= '.') (reverse cs))