반응형
::는 클로저에서 무엇을 위해 사용됩니까?
Clojure의 키워드가 : keyword라는 것을 이해합니다. 그러나 ::는 무엇을 위해 사용됩니까? 바인딩이있는 것처럼 보이는 이유는 무엇입니까?
user=> :foo
:foo
user=> ::foo
:user/foo
이중 콜론은 현재 네임 스페이스로 키워드를 완전히 한정 하기위한 것입니다. 이는 다른 라이브러리에 의미있는 키워드에 대한 이름 충돌을 방지하기위한 것입니다. 정규화 된 키워드가 없으면 실수로 맵의 일부 값을 덮어 쓰고 라이브러리와의 호환성이 깨질 수 있습니다.
이제 Clojure 및 ClojureScript 에 대해 문서화 된 것처럼 ::
키워드를 사용하여 네임 스페이스 별칭을 확인할 수도 있습니다. 예를 들어 ::foo/bar
는 :clojure.core/bar
if foo
가의 별칭으로 평가됩니다 clojure.core
. foo
에서 네임 스페이스로 확인 되지 않으면 리더 예외가 발생합니다 .
참고 URL : https://stackoverflow.com/questions/5771168/what-is-the-used-for-in-clojure
반응형
'Development Tip' 카테고리의 다른 글
자바 스크립트를 사용하여 SVG 그래픽을 만드시나요? (0) | 2020.10.12 |
---|---|
C ++에서 "class :"는 무엇을 의미합니까? (0) | 2020.10.12 |
PostgreSQL의 IN 대 ANY 연산자 (0) | 2020.10.12 |
클라이언트-서버 데이터베이스 동기화 (0) | 2020.10.12 |
관계형 데이터베이스와 비 관계형 데이터베이스의 차이점은 무엇입니까? (0) | 2020.10.12 |