
On 9/20/07, Dupont Corentin
On 9/20/07, Olivier Thauvin
wrote: Le jeudi 20 septembre 2007, Dupont Corentin a écrit :
Salut, est-ce que vous auriez quelques exemples de l'utilisation des symboles _ et []? C'est utilisé dans le cadre du pattern matching, mais j'ai du mal avec le _...
vrai :: Integer -> Bool vrai 0 = False vrai _ = True
ce qui reviens à écrire en fonctionnel:
Bool vrai (Integer variable) { if (variable == 0) { return False } else { return True } }
On peut faire pareil sur des listes:
vide :: [a] -> Bool vide [] = True vide (_) = False
Sauf typo de ma part dans le code.
Voici un exemple de code qui compile:
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? comment peut-il matcher avec '#':_ qui est me semble t-il une chaine?
Autre question, est ce que je peux taper ton exemple directement que ghci sans utiliser de ficher?
Qui vire la fin des lignes dès qu'un '#' est rencontré.
Cordialement.
(J'ai bien compris que ça, alors j'en profite !)
_______________________________________________ Haskell-fr mailing list Haskell-fr@haskell.org http://www.haskell.org/mailman/listinfo/haskell-fr