소스 검색

ft: 终版1.1

master
SisMaker 4 년 전
부모
커밋
d8bfe7cafe
2개의 변경된 파일23개의 추가작업 그리고 5개의 파일을 삭제
  1. +1
    -1
      include/eFmt.hrl
  2. +22
    -4
      src/eFmt.erl

+ 1
- 1
include/eFmt.hrl 파일 보기

@ -1,5 +1,5 @@
%% pretty
-define(LineCCnt, 20).
-define(LineCCnt, 120).
-define(base(Precision), case Precision of none -> 10; _ -> Precision end).
%%

+ 22
- 4
src/eFmt.erl 파일 보기

@ -32,6 +32,9 @@
, toUpperStr/1
, toBinary/1
, charsLen/1
, getOpt/3
, visualList/2
, visualBin/2
]).
%% ********************************************** eFmt start ***********************************************************
@ -216,10 +219,12 @@ writeBinary(Bin, D, BinAcc) ->
%% **************************************************** ~w end *******************************************************
%% **************************************************** ~p start *******************************************************
writeList([], _Depth, _Width, _Encoding, _Strings) ->
<<"[]">>;
writeList(List, Depth, Width, Encoding, Strings) ->
case Strings andalso visualList(List, Encoding) of
true ->
list_to_binary(List);
<<"\"", (list_to_binary(List))/binary, "\"">>;
_ ->
writeList(List, Depth, Width, Encoding, Strings, 0, <<"[">>)
end.
@ -333,10 +338,12 @@ writeMapBody(I, Depth, Width, Encoding, Strings, SumLC, BinAcc) ->
end
end.
writeBinary(<<>>, _Depth, _Width, _Encoding, _Strings) ->
<<"<<>>">>;
writeBinary(Bin, Depth, Width, Encoding, Strings) ->
case Strings andalso visualBin(Bin, Encoding) of
true ->
<<"<<", Bin/binary, ">>">>;
<<"<<\"", Bin/binary, "\">>">>;
_ ->
writeBinary(Bin, Depth, Width, Encoding, Strings, 0, <<"<<">>)
end.
@ -389,7 +396,7 @@ writeTerm(Term, _Depth, _Width, _Encoding, _Strings) when is_integer(Term) -> ?w
writeTerm(Term, _Depth, _Width, Encoding, _Strings) when is_atom(Term) -> ?writeAtom(Term, Encoding);
writeTerm(Term, Depth, Width, Encoding, Strings) when is_list(Term) -> writeList(Term, Depth, Width, Encoding, Strings);
writeTerm(Term, Depth, Width, Encoding, Strings) when is_map(Term) -> writeMap(Term, Depth, Width, Encoding, Strings, 0, <<"#{">>);
writeTerm(Term, Depth, Width, Encoding, Strings) when is_tuple(Term) -> writeTuple(Term, Depth, Width, Encoding, Strings, 1, 0, tuple_size(Term), <<"{">>);
writeTerm(Term, Depth, Width, Encoding, Strings) when is_tuple(Term) -> writeTuple(Term, Depth, Width, Encoding, Strings, 1, tuple_size(Term), 0, <<"{">>);
writeTerm(Term, Depth, Width, Encoding, Strings) when is_bitstring(Term) -> writeBinary(Term, Depth, Width, Encoding, Strings);
writeTerm(Term, _Depth, _Width, _Encoding, _Strings) when is_pid(Term) -> ?writePid(Term);
writeTerm(Term, _Depth, _Width, _Encoding, _Strings) when is_float(Term) -> ?writeFloat(Term);
@ -556,7 +563,18 @@ buildSmall([], CharsLimit, P, S, W, Other, Acc) ->
Acc;
_ ->
RemainChars = remainChars(CharsLimit, Other),
buildLimited(Acc, P, NumOfLimited, RemainChars, 0, [])
case buildLimited(Acc, P, NumOfLimited, RemainChars, 0, []) of
[] ->
[];
[_One] = Ret ->
Ret;
[One, Two] ->
[Two, One];
[One, Two, Three] ->
[Three, Two, One];
Ret ->
lists:reverse(Ret)
end
end;
buildSmall([OneCA | Cs], CharsLimit, P, S, W, Other, Acc) ->
case OneCA of

불러오는 중...
취소
저장