Selaa lähdekoodia

ft:非尾递归列表格式化

master
SisMaker 4 vuotta sitten
vanhempi
commit
4191cfe6c9
1 muutettua tiedostoa jossa 5 lisäystä ja 3 poistoa
  1. +5
    -3
      src/eFmt.erl

+ 5
- 3
src/eFmt.erl Näytä tiedosto

@ -158,7 +158,8 @@ writeList([One | List], D, E, BinAcc) ->
writeList(List, D - 1, E, <<BinAcc/binary, (writeTerm(One, D, E))/binary, ",">>)
end;
writeList(Other, D, E, BinAcc) ->
<<BinAcc/binary, "|", (writeTerm(Other, D, E))/binary, "]">>.
NewBinAcc = binary:part(BinAcc, 0, erlang:byte_size(BinAcc) - 1),
<<NewBinAcc/binary, "|", (writeTerm(Other, D, E))/binary, "]">>.
writeTuple(Tuple, D, E, Index, TupleSize, BinAcc) ->
if
@ -260,11 +261,12 @@ writeList(Other, Depth, Width, Encoding, Strings, SumLC, BinAcc) ->
TermBin = writeTerm(Other, Depth, Width, Encoding, Strings),
TermBinBinSize = erlang:byte_size(TermBin),
NewSumLC = SumLC + TermBinBinSize,
NewBinAcc = binary:part(BinAcc, 0, erlang:byte_size(BinAcc) - 1),
case NewSumLC >= Width of
true ->
<<BinAcc/binary, "|", TermBin/binary, "]\n">>;
<<NewBinAcc/binary, "|", TermBin/binary, "]\n">>;
_ ->
<<BinAcc/binary, "|", TermBin/binary, "]">>
<<NewBinAcc/binary, "|", TermBin/binary, "]">>
end.
writeTuple(Tuple, Depth, Width, Encoding, Strings, Index, TupleSize, SumLC, BinAcc) ->

Ladataan…
Peruuta
Tallenna