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

便利な方法の 1 つは、マップを使用することです。

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

または単に一般的に

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