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 <[email protected]> a écrit :
> 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
> [email protected]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-fr
>
_______________________________________________
Haskell-fr mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-fr