Parsing Clojure映射将列表返回到平面列表的函数
当您解析字符串列表并希望将每个字符串一分为二,然后生成哈希映射时,就会发生这种情况 假设我们有一个字符串列表,每个字符串都有第一行ID和rest数据:Parsing Clojure映射将列表返回到平面列表的函数,parsing,clojure,hashmap,Parsing,Clojure,Hashmap,当您解析字符串列表并希望将每个字符串一分为二,然后生成哈希映射时,就会发生这种情况 假设我们有一个字符串列表,每个字符串都有第一行ID和rest数据: ("#ID data More data", "#another ID Some more data still") 现在假设我们使用以下方法返回嵌套结构: (map #(clojure.string/split % #"\n" 2) data) 现在,如果我们想把它放到hashmap中,它首先必须是展平'd,然后是应用hashmap'd。
("#ID
data
More data",
"#another ID
Some more data still")
现在假设我们使用以下方法返回嵌套结构:
(map #(clojure.string/split % #"\n" 2) data)
现在,如果我们想把它放到hashmap中,它首先必须是
展平
'd,然后是应用hashmap
'd。有没有办法跳过展平
部分,让一些平面图
返回非嵌套结构 您可以使用进入:
(into {} (map #(clojure.string/split % #"\n") data))
您可以在
中使用:
(into {} (map #(clojure.string/split % #"\n") data))
您正在将每个字符串拆分为数量可变的子字符串。要将每个字符串拆分为不超过两个字符串,请使用带有3个参数的#(clojure.string/split%#“\n”2)
我的错误。原来的代码实际上使用了3个参数。感谢您的提示。您正在将每个字符串拆分为数量可变的子字符串。要将每个字符串拆分为不超过两个字符串,请使用带有3个参数的#(clojure.string/split%#“\n”2)
我的错误。原来的代码实际上使用了3个参数。谢谢你的提示。