我一直在使用erlang中的~n,尝试了2天将数据列表写入文件,io:format(文件,“~s~n”,[X])。< / p>
当然我已经尝试使用map和foreach遍历列表,但我仍然在1行而不是换行符上获取所有内容。该列表是从不同文件读取的行列表。这是一个Windows操作系统。
我错过了什么吗?有没有办法在Windows上做这个?我以前一直在阅读很多教程,并在这里寻求帮助,但我开始认为我没有解决方案:/任何其他语言的一些非常简单的任务,甚至haskell都可以做到。我可以将列表打印到控制台,它将显示为我阅读的文本。但是当我将此列表写入文件时,它显示在一行中。这样:
blah
blah
blah
变为
blah blah blah
我无法解决这个问题:(
答案 0 :(得分:0)
Windows新行是\r\n
(回车和换行符)。
尝试:
io:format(File, "~s\r\n", [X]).
答案 1 :(得分:0)
假设你有(在你的例子中):
Data = ["blah", "blah", "blah"].
然后:
io:format(File, "~s\r\n", [string:join(Data, "\r\n")]).
将在Windows上执行您想要的操作。 坦白地说&#34; ~n&#34;应该是平台相关的,但它不适用于我的Erlang版本,所以&#34; \ r \ n&#34;是必要的,即
io:format(File, "~s~n", [string:join(Data, "\n")]).
应该有用,但不是。