
20 Sep
2007
20 Sep
'07
8:21 p.m.
Le jeudi 20 septembre 2007, Dupont Corentin a écrit :
myfilter :: [String] -> [String] myfilter [] = [] myfilter (x:xs) = case x of '#':_ -> myfilter(xs) otherwise -> x:myfilter(xs)
Dans ton exemple je ne comprend pas, le x est bien un seul caratère?
Non, si tu regarde bien le prototype de la fonction, tu verras [String], et String est alias de [Char]. Donc dans (x:xs), x est le premier élément d'un tableau de chaine, donc un tableau de caractères.
comment peut-il matcher avec '#':_ qui est me semble t-il une chaine?
Si x est un tableau de Char ([Char]), il peut matcher '#':_ donc. Cordialement. PS: qq1 d'autre a déjà répondu, mais je m'en aperçois après avoir tapé, alors j'envois quand même ;)