Bonjour,

Je ne comprends pas ce que signifie exactement la partie "f x = x : takeWhile' f xs" (ligne 3) du code ci-dessous :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
takeWhile' :: (a -> Bool) -> [a] -> [a]
takeWhile' _ [] = []
takeWhile' f (x:xs)
  | f x = x : takeWhile' f xs
  | otherwise = takeWhile' f xs
Exemple d'application de cette fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
takeWhile' (>5) [2,90,1,900,3,43]
résultat : [90, 900, 43]
Est-ce que quelqu'un pourrait me l'expliquer ?

Merci pour votre aide.