【问题标题】:Why does io:format support ~n when \n does the same thing?为什么 io:format 支持 ~n 当 \n 做同样的事情?
【发布时间】: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 documentThe general format of a control sequence is ~F.P.PadModC。所以格式必须以~开头,字符n是定义为Writes a new line的控制序列之一。 \n 不是格式。

    【讨论】:

    • 对不起,这个问题误解了。
    【解决方案2】:

    根据“Programming Erlang”,~n 输出特定于平台的新行序列(Unix 上的\n,Windows 上的\r\n 等)。我认为\n 只是写了\n 字符,但不确定。

    【讨论】:

    • 是的,\n 只是一个普通字符,所以它按原样输出。否则,是的,你是对的,~n 用于特定于平台的新行。
    • 没错,但它可能是。
    • 我想知道是否仍然可以打补丁,或者如果〜n突然生成CRLF,是否会有太多程序在Windows下崩溃,因为以前从未这样。
    猜你喜欢
    • 2014-06-16
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 2017-12-29
    • 2015-09-02
    • 2017-03-06
    相关资源
    最近更新 更多