Browse Source

ft:模块融合

master
SisMaker 4 years ago
parent
commit
82ca275d8b
1 changed files with 23 additions and 11 deletions
  1. +23
    -11
      src/eFmt.erl

+ 23
- 11
src/eFmt.erl View File

@ -181,27 +181,39 @@ writeMapBody(I, D, E, BinAcc) ->
end
end.
writeBinary(Bin, D) ->
writeBinary(Bin, D, BinAcc) ->
if
D == 1 ->
<<"...">>;
<<BinAcc/binary, "...>>">>;
true ->
<<"<<", Bin/binary, ">>">>
case Bin of
<<>> ->
<<BinAcc/binary, ">>">>;
<<Int:8>> ->
<<BinAcc/binary, (integer_to_binary(Int))/binary, ">>">>;
<<Int:8, LeftBin/bitstring>> ->
writeBinary(LeftBin, D - 1, <<BinAcc/binary, (integer_to_binary(Int))/binary, ",">>);
_ ->
L = bit_size(Bin),
<<X:L>> = Bin,
<<BinAcc/binary, (integer_to_binary(X))/binary, ":", (integer_to_binary(L))/binary, ">>">>
end
end.
writeTerm(_Term, 0, _E) -> <<"...">>;
writeTerm(Term, _D, _E) when is_integer(Term) -> ?writeInt(Term);
writeTerm(Term, _D, _E) when is_float(Term) -> ?writeFloat(Term);
writeTerm(Atom, _D, E) when is_atom(Atom) -> ?writeAtom(Atom, E);
writeTerm(Term, _D, _E) when is_port(Term) -> ?writePort(Term);
writeTerm(Term, _D, _E) when is_pid(Term) -> ?writePid(Term);
writeTerm(Term, _D, _E) when is_reference(Term) -> ?writeRef(Term);
writeTerm(Term, _D, _E) when is_function(Term) -> ?writeFun(Term);
writeTerm(Term, D, _E) when is_binary(Term) -> writeBinary(Term, D);
writeTerm(Term, D, _E) when is_bitstring(Term) -> writeBinary(Term, D);
writeTerm(Term, D, E) when is_list(Term) -> writeList(Term, D, E, <<"[">>);
writeTerm(Term, D, E) when is_map(Term) -> writeMap(Term, D, E, <<"#{">>);
writeTerm(Term, D, E) when is_tuple(Term) -> writeTuple(Term, D, E, 1, tuple_size(Term), <<"{">>).
writeTerm(Term, D, E) when is_tuple(Term) -> writeTuple(Term, D, E, 1, tuple_size(Term), <<"{">>);
writeTerm(Term, D, _E) when is_bitstring(Term) -> writeBinary(Term, D, <<"<<">>);
writeTerm(Term, _D, _E) when is_pid(Term) -> ?writePid(Term);
writeTerm(Term, _D, _E) when is_float(Term) -> ?writeFloat(Term);
writeTerm(Term, _D, _E) when is_port(Term) -> ?writePort(Term);
writeTerm(Term, _D, _E) when is_reference(Term) -> ?writeRef(Term);
writeTerm(Term, _D, _E) when is_function(Term) -> ?writeFun(Term).
%% ********************************************** eFmt end *************************************************************
%% ********************************************** eFmtFormat start *****************************************************

Loading…
Cancel
Save