Why does io:format support ~n when \\n does the same thing?
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