我有这样的数据
tab = ({"123" data} {"456" data} ... (不管怎么说,这是一个懒散的hashmap序列)。
我想把它逐行写入edn文件中,所以我这样做了。
(map (fn[x] (spit "test.edn" x :append true)) tab)问题是我想把这个放在档案里:
{"123" data}
{"456" data}但它似乎是那样附加的
{"123" data}{"456" data}有办法解决这个问题吗?我想我必须添加“换行符”,但是我不知道怎么做,因为输入不是字符串。
谢谢!
发布于 2016-02-18 16:05:09
(doseq [x tab]
(spit "test.edn" (prn-str x) :append true))因此,对于tab中的每个项,将其转换为一个可读的字符串,后面跟着一个换行符,然后将该字符串附加到test.edn中。
出于以下几个原因,您不应该为此使用map:
map很懒,因此除非强制,否则不会打印整个序列。map保留了序列的头部,这将在这里浪费内存发布于 2016-02-18 11:46:07
对不起,我终于找到了,希望它能帮助一些人博斯我没有在网上找到它(我的意思是没有简单的答案)。
(map (fn[x] (spit "test.edn" (str x "\n") :append true)) tab)下午好。
https://stackoverflow.com/questions/35480498
复制相似问题