
clustersOf s =
filter ((== s) . length) . map (take s) . tails
clusters_of size list =
map (take size)
$ map (`drop` list) [0..length list - size]
La différence est je pense principalement une question de goût. Je trouve
évidemment ma version plus simple à comprendre ;)
Après on peut faire presque pareil comme ça:
clustersOf s lst = map (take s) $ take (length list - size) $ tails lst
Le 23 juin 2017 à 11:03, Marc Chantreux
hello,
On Thu, Jun 22, 2017 at 06:04:34PM +0200, Simon Marechal wrote:
Je t'ai mis un commentaire dans ton gist avec une technique très classique pour compter le nombre d'occurences d'éléments d'une liste.
merci beaucoup! je (re?)découvre l'existence de <$> (comment ai-je pu vivre sans?)
premiere question qui me vient: tu proposes
clustersOf s = filter ((== s) . length) . map (take s) . tails
ou j'ai écris
clusters_of size list = map (take size) $ map (`drop` list) [0..length list - size]
j'aurais tendance a préferer ma solution qui ne necessite pas de filtrage. pourrais-tu me dire ce qui te motivait en écrivant ta version?
pour le reste: lecture à la prochaine pause.
-- Marc Chantreux (eiro on github and freenode) http://eiro.github.com/ http://eiro.github.com/atom.xml "Don't believe everything you read on the Internet" -- Abraham Lincoln _______________________________________________ Haskell-fr mailing list Haskell-fr@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-fr