瀏覽代碼

ft: 部分代码调整

master
SisMaker 4 年之前
父節點
當前提交
cffd750faf
共有 1 個文件被更改,包括 14 次插入12 次删除
  1. +14
    -12
      src/eFmt.erl

+ 14
- 12
src/eFmt.erl 查看文件

@ -1,6 +1,7 @@
-module(eFmt).
-import(binary, [split/2, part/3]).
-import(lists, [reverse/2, keyfind/3]).
-compile(inline).
-compile({inline_size, 128}).
@ -48,8 +49,9 @@
-type encoding() :: epp:source_encoding() | 'unicode'.
-type charsLimit() :: integer().
-type fmtSpec() :: #fmtSpec{}.
-type format() :: atom() | string() | binary().
-spec format(Format :: io:format(), Data :: [term()]) -> chars().
-spec format(Format :: format(), Data :: [term()]) -> chars().
format(Format, Args) ->
try fWrite(Format, Args)
catch
@ -57,7 +59,7 @@ format(Format, Args) ->
erlang:error(badarg, [Format, Args, _C, _R])
end.
-spec format(Format :: io:format(), Data :: [term()], Options :: [{charsLimit, CharsLimit :: charsLimit()}]) -> chars().
-spec format(Format :: format(), Data :: [term()], Options :: [{charsLimit, CharsLimit :: charsLimit()}]) -> chars().
format(Format, Args, Options) ->
try fWrite(Format, Args, Options)
catch
@ -65,15 +67,15 @@ format(Format, Args, Options) ->
erlang:error(badarg, [Format, Args])
end.
-spec formatBin(Format :: io:format(), Data :: [term()]) -> chars().
-spec formatBin(Format :: format(), Data :: [term()]) -> chars().
formatBin(Format, Args) ->
try iolist_to_binary(fWrite(Format, Args))
catch
_C:_R:S ->
erlang:error(badarg, [Format, Args, _C, _R, S])
_C:_R ->
erlang:error(badarg, [Format, Args, _C, _R])
end.
-spec formatBin(Format :: io:format(), Data :: [term()], Options :: [{charsLimit, CharsLimit :: charsLimit()}]) -> chars().
-spec formatBin(Format :: format(), Data :: [term()], Options :: [{charsLimit, CharsLimit :: charsLimit()}]) -> chars().
formatBin(Format, Args, Options) ->
try iolist_to_binary(fWrite(Format, Args, Options))
catch
@ -81,7 +83,7 @@ formatBin(Format, Args, Options) ->
erlang:error(badarg, [Format, Args])
end.
-spec scan(Format :: io:format(), Data :: [term()]) -> FormatList :: [char() | fmtSpec()].
-spec scan(Format :: format(), Data :: [term()]) -> FormatList :: [char() | fmtSpec()].
scan(Format, Args) ->
try fScan(Format, Args)
catch
@ -461,17 +463,17 @@ writeTerm(Term, _Depth, _Width, _Encoding, _Strings) when is_function(Term) -> ?
%% ********************************************** eFmt end *************************************************************
%% ********************************************** eFmtFormat start *****************************************************
-spec fWrite(Format :: io:format(), Data :: [term()]) -> chars().
-spec fWrite(Format :: format(), Data :: [term()]) -> chars().
fWrite(Format, Args) ->
fBuild(fScan(Format, Args), []).
-spec fWrite(Format :: io:format(), Data :: [term()], Options :: [{'chars_limit', CharsLimit :: integer()}]) -> chars().
-spec fWrite(Format :: format(), Data :: [term()], Options :: [{'chars_limit', CharsLimit :: integer()}]) -> chars().
fWrite(Format, Args, Options) ->
fBuild(fScan(Format, Args), Options).
%% ~F.P.PadModC
%% Parse all control sequences in the format string.
-spec fScan(Format :: io:format(), Data :: [term()]) -> FormatList :: [char() | fmtSpec()].
-spec fScan(Format :: format(), Data :: [term()]) -> FormatList :: [char() | fmtSpec()].
fScan(Format, Args) ->
if
is_binary(Format) ->
@ -627,7 +629,7 @@ buildSmall([], CharsLimit, P, S, W, Other, Acc) ->
[One, Two, Three] ->
[Three, Two, One];
Ret ->
lists:reverse(Ret)
reverse(Ret, [])
end
end;
buildSmall([OneCA | Cs], CharsLimit, P, S, W, Other, Acc) ->
@ -996,7 +998,7 @@ charsLen(S) ->
end.
getOpt(Key, TupleList, Default) ->
case lists:keyfind(Key, 1, TupleList) of
case keyfind(Key, 1, TupleList) of
false ->
Default;
ValueTuple ->

Loading…
取消
儲存