본문 바로가기

프로그래밍 언어 노트/Clojure

[Clojure 연습] 2. 기초 연습문제

(ns hello.core)

(def user-data {"id" 10, "name" "jack", "age" 0, "role" :developer})

(def users [user-data (assoc user-data "role" :tester "age" 20) (assoc user-data "age" 10)])


; 재귀
(defn sum-developer-age [init-user]
((fn [v sum]
(if (empty? v)
sum
(recur (rest v) (+ sum (get (first v) "age")))))
init-user 0))

;시퀀스 함수
(defn sum-developer-age-sq [init-user]
(reduce + (map (fn [i] (get i "age")) init-user)))
(defn add-user [init-user new-user]
(conj init-user new-user))

(defn print-user []
(println users)
)

(defn -main [& args]
(println (add-user users (assoc user-data "name" "KIKI"))))



10번 부터 해당 문제 관련한것들..


일케하는게 맞나..

728x90