수색…


소개

이 문서는 clojure가 제공하는 다양한 기본 기능을 제공합니다. 이것에 필요한 명시적인 의존성은 없으며 org.clojure의 일부로 제공됩니다.

클로저에서 함수 정의하기

(defn x [a b] 
        (* a b)) ;; public function

=> (x 3 2) ;; 6
=> (x 0 9) ;; 0

(defn- y [a b] 
        (+ a b)) ;; private function

=> (x (y 1 2) (y 2 3)) ;; 15

Assoc - 클로저에서 맵 / 벡터 값 업데이트하기

지도에 적용되면 새 키 또는 업데이트 된 키 발로 구성된 새지도를 반환합니다.

기존지도에 새 정보를 추가하는 데 사용할 수 있습니다.

(def userData {:name "Bob" :userID 2 :country "US"})
(assoc userData :age 27)            ;; { :name "Bob" :userID 2 :country "US" :age 27} 

기존 키가 제공되면 이전 정보 값을 대체합니다.

(assoc userData :name "Fred")       ;; { :name "Fred" :userID 2 :country "US" } 
(assoc userData :userID 3 :age 27)  ;; {:name "Bob" :userID 3 :country "US" :age 27} 

또한 지정된 인덱스에서 값을 바 Y 기 위해 벡터에서 사용될 수 있습니다.

(assoc [3 5 6 7] 2 10)              ;; [3 5 10 7]
(assoc [1 2 3 4] 6 6)               ;; java.lang.IndexOutOfBoundsException 

Clojure의 비교 연산자

비교는 클로저에서의 함수입니다. 그 의미는 (2>1) 에서 (> 2 1) 이라는 의미입니다. 여기에 clojure의 모든 비교 연산자가 있습니다.

  1. 보다 큰

(> 2 1) ;; true
(> 1 2) ;; false

  1. 보다 작음

(< 2 1) ;; false

  1. 크거나 같음

(>= 2 1) ;; true
(>= 2 2) ;; true
(>= 1 2) ;; false

  1. 보다 작거나 같음

(<= 2 1) ;; false
(<= 2 2) ;; true
(<= 1 2) ;; true

  1. 동일

(= 2 2) ;; true
(= 2 10) ;; false

  1. 같지 않음

(not= 2 2) ;; false
(not= 2 10) ;; true

Dissoc - 클로저 맵에서 키 분리

이것은 함수 인수에 언급 된 키에 대한 키 - 값 쌍이없는 맵을 리턴합니다. 기존지도에서 정보를 제거하는 데 사용할 수 있습니다.

(dissoc {:a 1 :b 2} :a) ;; {:b 2}

또한 여러 키를 다음과 같이 분리하는 데에도 사용할 수 있습니다.

(dissoc {:a 1 :b 2 :c 3} :a :b) ;; {:c 3}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow