Clojure映射将列表返回到平面列表的函数

时间:2013-05-03 09:36:28

标签: parsing clojure hashmap

当您解析字符串列表并且想要将每个字符串拆分为两个,然后创建一个hashmap时,会发生这种情况。

假设我们有一个字符串列表,每个字符串都有第一行ID和休息数据:

("#ID
data
More data",
"#another ID
Some more data still")

现在假设我们使用以下方法返回嵌套结构:

(map #(clojure.string/split % #"\n" 2) data) 

现在,如果我们想将它放入一个hashmap,首先必须是flatten'd然后是apply hash-map'd。有没有办法跳过flatten部分并让一些flat-map返回非嵌套结构?

1 个答案:

答案 0 :(得分:4)

您可以使用into

(into {} (map #(clojure.string/split % #"\n") data))