【发布时间】:2012-10-24 06:44:36
【问题描述】:
这两个给出相同的输出:
1> io:format("Hello, world!~n").
Hello, world!
ok
2> io:format("Hello, world!\n").
Hello, world!
ok
为什么io:format 支持~n 而\n 做同样的事情?有什么不同吗?
【问题讨论】:
标签: erlang escaping erlang-otp
这两个给出相同的输出:
1> io:format("Hello, world!~n").
Hello, world!
ok
2> io:format("Hello, world!\n").
Hello, world!
ok
为什么io:format 支持~n 而\n 做同样的事情?有什么不同吗?
【问题讨论】:
标签: erlang escaping erlang-otp
根据io document、The general format of a control sequence is ~F.P.PadModC。所以格式必须以~开头,字符n是定义为Writes a new line的控制序列之一。 \n 不是格式。
【讨论】:
根据“Programming Erlang”,~n 输出特定于平台的新行序列(Unix 上的\n,Windows 上的\r\n 等)。我认为\n 只是写了\n 字符,但不确定。
【讨论】:
\n 只是一个普通字符,所以它按原样输出。否则,是的,你是对的,~n 用于特定于平台的新行。