validator
검증자(validator)는 어떤 상태를 참조로 써도 좋은지 정한다.만약 10을 넘으면 안되게 하는 validator를 만들어보자.
(defn max-ten-validator [{:keys [number]}] (< number 10)) (def n (atom {:number 0 :name "Younghwan"} :validator max-ten-validator)) user=> (swap! n update-in [:number] + 3) {:number 3, :name "Younghwan"} user=> (swap! n update-in [:number] + 3) {:number 6, :name "Younghwan"} user=> (swap! n update-in [:number] + 3) {:number 9, :name "Younghwan"} user=> (swap! n update-in [:number] + 3) IllegalStateException Invalid reference state clojure.lang.ARef.validate (ARef.java:33)
댓글 없음:
댓글 쓰기