Re: read numbers

Roger Lipscombe <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <CAJgnQd8KOgQzUWohmTZrdk5zPrWicCHOoHTfD3-ShetgmSeWkw@mail.gmail.com>
On Thu, 9 Dec 2021 at 13:29, Java House <[email protected]> wrote:
> Thank you Roger for the answer
> I thought about it but since I have to parse all digits for every row that would mean a lot of entries as I have to create all possible combinations of 0/1 for every position of the row.

parse(Data) -> parse(Data, [], []).

parse(<<"0", Rest/binary>>, Line, Lines) ->
    parse(Rest, [false | Line], Lines);
parse(<<"1", Rest/binary>>, Line, Lines) ->
    parse(Rest, [true | Line], Lines);
parse(<<$\n, Rest/binary>>, Line, Lines) ->
    parse(Rest, [], [lists:reverse(Line) | Lines]);
parse(<<>>, [], Lines) -> lists:reverse(Lines);
parse(<<>>, Line, Lines) -> lists:reverse([lists:reverse(Line) | Lines]).

...results in...

[[true,true,true,false,true,true,false,false,true,false,true,false],
 [false,true,false,false,true,true,true,false,true,true,true,false],
 [true,true,false,false,false,true,false,false,true,false,true,false],
 [false,false,true,true,false,true,false,true,true,true,false,true],
 [true,true,false,true,false,false,false,false,false,false,true,true],
 [false,true,false,true,true,false,true,true,false,false,true,false]]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.