Existe-t-il une fonction pour concaténer les éléments d'une liste avec un séparateur ? Par example:
> foobar " " ["is","there","such","a","function","?"]
["is there such a function ?"]
Merci pour toute réponse !
Existe-t-il une fonction pour concaténer les éléments d'une liste avec un séparateur ? Par example:
> foobar " " ["is","there","such","a","function","?"]
["is there such a function ?"]
Merci pour toute réponse !
Quelques autres idées d'implémentations d'intercaler et d'intercaler, si quelqu'un est intéressé :
myIntersperse :: a -> [a] -> [a]
myIntersperse _ [] = []
myIntersperse e xs = init $ xs >>= (:[e])
myIntercalate :: [a] -> [[a]] -> [a]
myIntercalate e xs = concat $ myIntersperse e xs
xs >>= f
équivaut à concat (map f xs)
.
Si vous vouliez écrire vos propres versions de intercalate
et intersperse
:
intercalate :: [a] -> [[a]] -> [a]
intercalate s [] = []
intercalate s [x] = x
intercalate s (x:xs) = x ++ s ++ (intercalate s xs)
intersperse :: a -> [a] -> [a]
intersperse s [] = []
intersperse s [x] = [x]
intersperse s (x:xs) = x : s : (intersperse s xs)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.