Mam listę Chcę kawałek się w oparciu o przejściu od typu struct B do A. Tak na przykład, mam następujące:listy wyrwy na podstawie typu struct zmieniającym
iex(1)> defmodule A, do: defstruct []
{:module, A ...
iex(2)> defmodule B, do: defstruct []
{:module, B ...
iex(3)> values = [ %A{}, %A{}, %B{}, %B{}, %B{}, %A{}, %A{}, %B{} ]
[%A{}, %A{}, %B{}, %B{}, %B{}, %A{}, %A{}, %B{}]
chcę mieć że dane pakietowego się na liście 2-elementu, który zawiera:
[ [ %A{}, %A{}, %B{}, %B{}, %B{} ], [ %A{}, %A{}, %B{} ] ]
Jeżeli wejście miały być wszystkie a, B lub wszystkie początkowo wyjście że niezmieniony, ponieważ nie B-> wystąpił przejściowego.
Wyobrażam sobie, że jest to Enum.chunk_by/2
, ale mam problem z ustaleniem, jak zachować kontekst poprzedniego elementu, aby wiedzieć, kiedy podzielić.
Jak wygląda idiomatyczne rozwiązanie takiego problemu?
Musisz wybrać tę, ponieważ jest to jedyna, którą czuję się w stanie utrzymać, biorąc pod uwagę mój obecny poziom wiedzy o eliksiru! Dzięki! –