我有这样的事情:Run = "Test run [number\n"
.当我这样做时io:format("~p", [Run])
,我没有看到换行符(它打印\n
在字符串中).
如何打印到屏幕(或文件),这样的字符可以理解它们(例如换行符)?
您需要使用~s
格式字符串而不是~p
.
1> Run = "Test run [number\n".
"Test run [number\n"
2> io:format("~s", [Run]).
Test run [number
ok
Run Code Online (Sandbox Code Playgroud)
有关不同控制序列的更多详细信息,请访问io:format
:http://erlang.org/doc/man/io.html#format-3
~s
使用字符串语法打印参数.如果没有Unicode转换修饰符,则参数为
iolist()
abinary()
,a 或anatom()
.如果Unicode转换修饰符(t
)生效,则参数为unicode:chardata()
,意味着二进制文件为UTF-8.字符打印时不带引号.首先按给定的精度截断字符串,然后填充并对齐到给定的字段宽度.默认精度是字段宽度.
~p
使用标准语法以相同的方式写入数据
~w
,但将打印表示长于一行的术语分成多行并合理地缩进每行.不支持左对齐.它还尝试检测可打印字符列表并将其输出为字符串.Unicode转换修饰符用于确定哪些字符是可打印的.