Je suis en train de diviser cette listeErlang - Split une liste en fonction de la valeur des listes
List = [[<<"5">>, <<"54">>], [<<"00">>], [<<"35">>, <<"54">>, <<"45">>, <<"55">>], [<<"00">>],[ <<"5">>]]
dans
List = [[<<"5">>, <<"54">>], [<<"35">>, <<"54">>, <<"45">>, <<"55">>], [<<"5">>]]
Fondamentalement, sur la base du < < "00" >>
Quel est le meilleur BIF à faire à ce sujet, j'ai du code, mais c'est bâclé, et Im essayant d'apprendre.
Merci
EDIT:
Essayé ce qui suit, ne fonctionne pas
Done2 = listes: splitwith ([< < "00" >>], Done1),
EDIT : Cette ligne fonctionne!
7> lists:splitwith(fun(A) -> A == [<<"00">>] end, List).
{[],
[[<<"5">>,<<"54">>],
[<<"00">>],
[<<"35">>,<<"54">>,<<"45">>,<<"55">>],
[<<"00">>],
[<<"5">>]]}
Cependant, je besoin de quelque chose un peu plus compliqué: comme quand le delim est [< < "00" >>, < < "23" >>]
9> List = [[<<"5">>,<<"54">>], [<<"00">>,<<"23">>], [<<"35">>,<<"54">>], [<<"5">
>], [<<"00">>, <<"23">>]].
[[<<"5">>,<<"54">>],
[<<"00">>,<<"23">>],
[<<"35">>,<<"54">>],
[<<"5">>],
[<<"00">>,<<"23">>]]
10> lists:splitwith(fun(A) -> A == [<<"00">>] end, List).
{[],
[[<<"5">>,<<"54">>],
[<<"00">>,<<"23">>],
[<<"35">>,<<"54">>],
[<<"5">>],
[<<"00">>,<<"23">>]]}
11> lists:splitwith(fun(A) -> A == [<<"00">>,<<"23">>] end, List).
{[],
[[<<"5">>,<<"54">>],
[<<"00">>,<<"23">>],
[<<"35">>,<<"54">>],
[<<"5">>],
[<<"00">>,<<"23">>]]}
12>
Pas de chance il
en fonction de ce lien http://www3.erlang.org/doc/man/lists.html#split-2, vous devez utiliser splitwith –
Il ne semble pas que 'lists: splitwith (fun (A) - > A == [<<"00">>] end, List) .' renvoie ce que vous demandez dans votre question. Le résultat n'est pas le même que ce que vous avez dans votre deuxième 'Liste'. Les deuxièmes listes ne sont pas crachées du tout. Il semble que '[<<"00">>]' soit supprimé. Pouvez-vous définir ce que vous aimeriez plus précisément? –