수색…


통사론

  • io : format (FormatString, Args) 표준 출력에 % 쓰기
  • io : format (standard_error, FormatString, Args) % 표준 오류에 쓰기
  • io : format (F, FormatString, Args) 열린 파일에 쓰기 %
  • io_lib : format (FormatString, Args) iolist를 반환합니다.

형식 문자열의 공통 제어 시퀀스

io:formatio_lib:format 위한 많은 다른 제어 순서가 있지만 대부분의 경우 ~s , ~p , ~w ~s 세 가지 종류 만 사용하게됩니다.

~ 초

~s문자열 입니다.

문자열, 바이너리 및 원자를 인쇄합니다. (다른 것은 badarg 오류를 일으킬 것입니다.) 아무것도 인용하거나 이스케이프하지 않습니다. 그냥 문자열 자체를 인쇄합니다.

%% Printing a string:
> io:format("~s\n", ["hello world"]).
hello world

%% Printing a binary:
> io:format("~s\n", [<<"hello world">>]).
hello world

%% Printing an atom:
> io:format("~s\n", ['hello world']).
hello world

~ w

~w표준 구문으로 작성하는 데 사용 됩니다.

Erlang 용어를 인쇄 할 수 있습니다. 구문 분석이 가능한 단어, 즉 pid, 포트 및 참조가없는 용어가 포함되어 있지 않으면 출력을 파싱하여 원래의 얼랭 용어를 반환 할 수 있습니다. 그것은 개행이나 들여 쓰기를 삽입하지 않으며, 문자열은 항상리스트로 해석됩니다 :

> io:format("~w\n", ["abc"]).
[97,98,99]

~ p

~p예쁜 인쇄용 입니다.

Erlang 용어를 인쇄 할 수 있습니다. 출력은 ~w 와 다음과 같은 점에서 다릅니다.

  • 줄이 너무 길면 새줄이 삽입됩니다.
  • 줄 바꿈이 삽입되면 다음 줄은 들여 쓰기되어 같은 수준의 이전 용어와 정렬됩니다.
  • 정수리스트가 인쇄 가능한 문자열처럼 보이면 하나의 것으로 해석됩니다.
> io:format("~p\n", [{this,is,a,tuple,with,many,elements,'and',a,list,'of',numbers,[97,98,99],that,'end',up,making,the,line,too,long}]).
{this,is,a,tuple,with,many,elements,'and',a,list,'of',numbers,"abc",that,
      'end',up,making,the,line,too,long}

정수 목록을 문자열로 인쇄하지 않으려면 ~lp 시퀀스를 사용할 수 있습니다 ( p 앞에 소문자 L을 삽입하십시오).

> io:format("~lp\n", [[97,98,99]]).
[97,98,99]

> io:format("~lp\n", ["abc"]).
[97,98,99]


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow