These two give identical output:
1> io:format("Hello, world!~n").
Hello, world!
ok
2> io:format("Hello, world!\n").
Hello, world!
ok
Why does io:format
support ~n
when \n
does the same thing? Are there any differences?
According to "Programming Erlang", ~n
outputs the platform-specific new line sequence (\n
on Unix, \r\n
on Windows, etc.). I think \n
just writes the \n
character, but am not sure.
According to io document, The general format of a control sequence is ~F.P.PadModC
. So the format must begin with ~
, and character n
is one of the control sequences with the definition Writes a new line
. \n
is not a format.
来源:https://stackoverflow.com/questions/13215033/why-does-ioformat-support-n-when-n-does-the-same-thing