Вы, вероятно, не должны полагаться на функцию io:format/1
с одним аргументом:
3> B="helo\n".
"helo\n"
4> io:format(B).
helo
ok
5> C="~p".
"~p"
6> io:format(C).
** exception exit: {badarg,[{io,format,[<0.26.0>,"~p",[]]},
{erl_eval,do_apply,5},
{shell,exprs,6},
{shell,eval_exprs,6},
{shell,eval_loop,3}]}
in function io:o_request/3
Если аргумент содержит какие-либо запросы на форматирование, ваш io:format
вызов может прекратиться. Я бы рекомендовал использовать строку формата, такую как ~p~n
или ~w~n
:
1> C="~p".
"~p"
2> io:format("~p~n", [C]).
"~p"
ok