1

我想在一个数据结构中存储多个配置条目(可以灵活扩展),如下所示:

(def config [{:host "test", :port 1},{:host "testtest", :port 2}])

稍后我想迭代并处理该数组中的每个散列。

有人可以指出如何在 Clojure 中做到这一点吗?

4

2 回答 2

5

您可以使用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")
于 2012-08-16T16:04:07.713 回答
3

一种方便的方法是使用地图

 (map #(print (:host %1)) config)

或者只是一般来说

 (map my-processing-func config)             
于 2012-08-16T16:04:56.197 回答