Erlang Language
Tekenreeksen opmaken
Zoeken…
Syntaxis
- io: format (FormatString, Args)% schrijven naar standaarduitvoer
- io: format (standard_error, FormatString, Args)% schrijven naar standaardfout
- io: format (F, FormatString, Args)% schrijven om bestand te openen
- io_lib: format (FormatString, Args)% retourneert een iolist
Algemene besturingsreeksen in opmaakreeksen
Hoewel er veel verschillende besturingsreeksen zijn voor io:format
en io_lib:format
, gebruik je meestal slechts drie verschillende: ~s
, ~p
en ~w
.
~ s
De ~s
is voor strings .
Het drukt strings, binaries en atomen af. (Al het andere zal een badarg
fout veroorzaken.) Het citeert of ontsnapt niets; het drukt alleen de string zelf af:
%% 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
De ~w
is voor schrijven met standaardsyntaxis .
Het kan elke Erlang-term afdrukken. De uitvoer kan worden ontleed om de oorspronkelijke Erlang-term te retourneren, tenzij deze termen bevat die geen ontleedbare schriftelijke weergave hebben, zoals pids, poorten en verwijzingen. Er worden geen nieuwe regels of inspringingen ingevoegd en tekenreeksen worden altijd geïnterpreteerd als lijsten:
> io:format("~w\n", ["abc"]).
[97,98,99]
~ p
De ~p
is voor mooi afdrukken .
Het kan elke Erlang-term afdrukken. De uitvoer verschilt op de volgende manieren van ~w
:
- Nieuwe regels worden ingevoegd als de regel anders te lang zou zijn.
- Wanneer nieuwe regels worden ingevoegd, wordt de volgende regel ingesprongen om uit te lijnen met een vorige term op hetzelfde niveau.
- Als een lijst met gehele getallen op een afdrukbare tekenreeks lijkt, wordt deze als één geïnterpreteerd.
> 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}
Als u niet wilt dat lijsten met gehele getallen als tekenreeksen worden afgedrukt, kunt u de volgorde ~lp
(plaats een kleine letter L voor p
):
> io:format("~lp\n", [[97,98,99]]).
[97,98,99]
> io:format("~lp\n", ["abc"]).
[97,98,99]