【发布时间】:2016-08-13 13:56:54
【问题描述】:
我有这样的东西:Run = "Test run [number\n"。当我执行io:format("~p", [Run]) 时,我看不到换行符(它在字符串中打印为\n)。
我怎样才能打印到屏幕(或文件),这样的字符可以理解它们是什么(例如换行符)?
【问题讨论】:
标签: erlang
我有这样的东西:Run = "Test run [number\n"。当我执行io:format("~p", [Run]) 时,我看不到换行符(它在字符串中打印为\n)。
我怎样才能打印到屏幕(或文件),这样的字符可以理解它们是什么(例如换行符)?
【问题讨论】:
标签: erlang
您需要在格式字符串中使用~s,而不是~p。
1> Run = "Test run [number\n".
"Test run [number\n"
2> io:format("~s", [Run]).
Test run [number
ok
有关io:format中允许的不同控制序列的更多详细信息:http://erlang.org/doc/man/io.html#format-3
~s使用字符串语法打印参数。如果不存在 Unicode 翻译修饰符,则参数是
iolist()、binary()或atom()。如果 Unicode 翻译修饰符 (t) 有效,则参数为unicode:chardata(),这意味着二进制文件采用 UTF-8。字符打印时不带引号。该字符串首先被给定的精度截断,然后填充并对齐到给定的字段宽度。默认精度为字段宽度。
~p以与
~w相同的方式使用标准语法写入数据,但将打印表示超过一行的术语分解为多行并合理缩进每一行。不支持左对齐。它还尝试检测可打印字符列表并将其输出为字符串。 Unicode 翻译修饰符用于确定可打印的字符。
【讨论】: