2014-03-30 17 views
0

一個列表中的每個地圖計算某個地圖副教授新的關鍵,鑑於一些功能Clojure中

(defn some-function [element] "some computation over element") 

給出基地的值是否有assoc'ing一個新的密鑰對中每個元素的idomatic方式地圖列表,其中新密鑰的值由某個函數計算出來?

這裏是我的幼稚的做法:

(map 
    (fn [element] (assoc element :newkey (some-function element))) 
    [{:a "map 1"} {:a "map 2"}]) 

回答

3

你的代碼看起來不錯。

但是你可以考慮使用#()特殊的宏,而不是創建匿名函數自己:

(map 
    #(assoc % :newkey (some-function %)) 
    [{:a "map 1"} {:a "map 2"}]) 
0

你的「天真」的做法是非常正是我所期望看到的。