Question

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?

Was it helpful?

Solution

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.

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top