サーチ…


構文

  • io:format(FormatString、Args)%標準出力への書き込み
  • io:format(standard_error、FormatString、Args)%標準エラーへの書き込み
  • io:フォーマット(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、ポート、および参照)を持たない項を含まない限り、出力は解析されてErlangの元の語を返すことができます。改行やインデントを挿入することはなく、文字列は常にリストとして解釈されます。

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

〜p

~pは、 きれいに印刷するためのものです。

Erlangの用語を印刷することができます。出力は異なり~w次の方法で:

  • 行が長すぎる場合は改行が挿入されます。
  • 改行が挿入されると、次の行は同じレベルの前の用語と並ぶように字下げされます。
  • 整数のリストが印刷可能な文字列のように見える場合、それは1と解釈されます。
> 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