関数型言語の特徴 Clojure版

user=> (def data '(
 {:firstName "hiroshi" :lastName "tanaka" :age 30}
 {:firstName "satoshi" :lastName "sato" :age 40}
 {:firstName "hanako" :lastName "suzuki" :age 20}))
#'user/data
user=>
user=> (map :firstName data)
("hiroshi" "satoshi" "hanako")
user=> (map :lastName data)
("tanaka" "sato" "suzuki")
user=> (map (fn [x] (str (x :firstName) (str " " (x :lastName)) )) data)
("hiroshi tanaka" "satoshi sato" "hanako suzuki")
user=> (reduce #'+ (map :age data))
90

できたかな?