我想在数据结构中存储多个配置条目(可以灵活扩展),如下所示:
(def config [{:host "test", :port 1},{:host "testtest", :port 2}])
稍后我想迭代并处理该数组中的每个哈希值。
有人可以指出如何在Clojure中做到这一点吗?
答案 0 :(得分:4)
如果您只想要副作用,可以使用for
(或doseq
来循环存储在矢量中的每个地图。如果您事先知道它们,甚至可以使用destructuring来绑定地图的各个键:
(def config [{:host "test", :port 1},{:host "testtest", :port 2}])
(for [{h :host p :port} config]
(format "host: %s ; port: %s" h p))
; => ("host: test ; port: 1" "host: testtest ; port: 2")
答案 1 :(得分:3)
一种方便的方法是使用地图
(map #(print (:host %1)) config)
或者只是一般
(map my-processing-func config)