Erlang Language
フォーマット文字列
サーチ…
構文
- io:format(FormatString、Args)%標準出力への書き込み
- io:format(standard_error、FormatString、Args)%標準エラーへの書き込み
- io:フォーマット(F、FormatString、Args)オープンファイルへの書き込み%
- io_lib:format(FormatString、Args)%iolistを返す
書式文字列の共通の制御シーケンス
一方で、多くの異なる制御シーケンスがあるためio:format
とio_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