我想在一个数据结构中存储多个配置条目(可以灵活扩展),如下所示:
(def config [{:host "test", :port 1},{:host "testtest", :port 2}])
稍后我想迭代并处理该数组中的每个散列。
有人可以指出如何在 Clojure 中做到这一点吗?
我想在一个数据结构中存储多个配置条目(可以灵活扩展),如下所示:
(def config [{:host "test", :port 1},{:host "testtest", :port 2}])
稍后我想迭代并处理该数组中的每个散列。
有人可以指出如何在 Clojure 中做到这一点吗?
您可以使用for
(或者doseq
如果您只想要副作用)循环存储在向量中的每个地图。如果您事先知道它们,您甚至可以使用解构来绑定地图的各个键:
(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")
一种方便的方法是使用地图
(map #(print (:host %1)) config)
或者只是一般来说
(map my-processing-func config)