<div dir="ltr">Salut Marc,<div><br></div><div>J'allais répondre comme Sylvain, mais effectivement c'est un peu dangereux de faire ça (à moins d'être certains d'un unique élément séparateur dans la liste initiale), et il y a peut-être une façon moins risquée de traiter cette liste en amont pour éviter de faire ça.</div><div><br></div><div>N'hésite pas à décrire un peu plus ce que tu souhaites faire si tu veux d'autres idées.</div><div><br></div><div>- Valentin<br><br><div class="gmail_quote"><div dir="ltr">On Tue, Jun 20, 2017 at 12:45 AM Sylvain Henry <<a href="mailto:sylvain@haskus.fr">sylvain@haskus.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Salut,<br>
<br>
Tu peux utiliser un pattern dans un let.<br>
<br>
 > let [x,y] = splitWhen (==0) [1,2,3,0,4,5,6]<br>
 > x<br>
[1,2,3]<br>
 > y<br>
[4,5,6]<br>
<br>
Par contre il faut être sûr que le pattern est valide sinon:<br>
<br>
*** Exception: <interactive>:5:5-43: Irrefutable pattern failed for<br>
pattern [x, y]<br>
<br>
-Sylvain<br>
<br>
<br>
On 20/06/2017 09:37, Marc Chantreux wrote:<br>
> salut a tous,<br>
><br>
> je cherche a prendre le resultat d'un splitWhen pour affecter<br>
> directement deux variables. naivement (venant de perl), j'aurais<br>
> tendance à écrire:<br>
><br>
> let votes, candidates = splitWhen (/= "0") $ lines getContents<br>
><br>
> sauf que ca ne marche pas et google ne m'a pas été d'un grand secours<br>
> (probablement parceque j'ai un pb de mot clef).<br>
><br>
> si qq1 a une idée ...<br>
><br>
> cordialement,<br>
<br>
_______________________________________________<br>
Haskell-fr mailing list<br>
<a href="mailto:Haskell-fr@haskell.org" target="_blank">Haskell-fr@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-fr" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-fr</a><br>
</blockquote></div></div></div>