Erlang Language
Formatuj ciągi
Szukaj…
Składnia
- io: format (FormatString, Args)% zapisu na standardowe wyjście
- io: format (standard_error, FormatString, Args)% zapisu do standardowego błędu
- io: format (F, FormatString, Args)% zapisu do otwartego pliku
- io_lib: format (FormatString, Args)% zwraca iolist
Typowe sekwencje kontrolne w ciągach formatu
Chociaż istnieje wiele różnych sekwencji kontrolnych dla io:format
i io_lib:format
, przez większość czasu będziesz używać tylko trzech różnych: ~s
, ~p
i ~w
.
~ s
~s
jest dla ciągów znaków .
Drukuje łańcuchy, pliki binarne i atomy. (Cokolwiek innego spowoduje błąd badarg
.) Nie cytuje ani nie ucieka; po prostu wypisuje sam ciąg:
%% 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
służy do pisania ze standardową składnią .
Może wydrukować dowolny termin Erlang. Dane wyjściowe można przeanalizować w celu zwrócenia oryginalnego terminu Erlang, chyba że zawiera on terminy, które nie mają możliwej do przetworzenia reprezentacji na piśmie, tj. Pidy, porty i referencje. Nie wstawia żadnych znaków nowej linii ani wcięć, a ciągi znaków są zawsze interpretowane jako listy:
> io:format("~w\n", ["abc"]).
[97,98,99]
~ p
~p
służy do ładnego drukowania .
Może wydrukować dowolny termin Erlang. Dane wyjściowe różnią się od ~w
w następujący sposób:
- Nowe linie są wstawiane, jeśli linia byłaby zbyt długa.
- Po wstawieniu nowego wiersza wcięcie następnego wiersza jest zgodne z poprzednim terminem na tym samym poziomie.
- Jeśli lista liczb całkowitych wygląda jak ciąg do wydrukowania, jest interpretowana jako jedna.
> 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}
Jeśli nie chcesz, aby listy liczb całkowitych były drukowane jako ciągi, możesz użyć sekwencji ~lp
(wstaw małą literę L przed p
):
> io:format("~lp\n", [[97,98,99]]).
[97,98,99]
> io:format("~lp\n", ["abc"]).
[97,98,99]