Erlang 为什么io:format在\n执行相同操作时支持~n?
这两者的输出相同:Erlang 为什么io:format在\n执行相同操作时支持~n?,erlang,escaping,otp,Erlang,Escaping,Otp,这两者的输出相同: 1> io:format("Hello, world!~n"). Hello, world! ok 2> io:format("Hello, world!\n"). Hello, world! ok 为什么io:format支持~n而\n做同样的事情?有什么区别吗?根据“编程Erlang”~n输出特定于平台的新行序列(\n在Unix上,\r\n在Windows上,等等)。我认为\n只是写\n字符,但不确定。根据控制序列的一般格式是~F.p.PadModC。因此格
1> io:format("Hello, world!~n").
Hello, world!
ok
2> io:format("Hello, world!\n").
Hello, world!
ok
为什么
io:format
支持~n
而\n
做同样的事情?有什么区别吗?根据“编程Erlang”~n
输出特定于平台的新行序列(\n
在Unix上,\r\n
在Windows上,等等)。我认为\n
只是写\n
字符,但不确定。根据控制序列的一般格式是~F.p.PadModC
。因此格式必须以~
开头,字符n
是控制序列之一,定义为写新行<代码>\n
不是一种格式。很抱歉误解了这个问题。是的,\n
只是一个普通字符,所以它是按原样输出的。否则,是的,你是对的,~n
是为特定于平台的新产品线设计的。是的,但可能是这样。我想知道是否仍有可能进行修补,或者如果~n突然生成CRLF,是否会有太多程序在Windows下崩溃,因为以前从未出现过这种情况。