지도 키 이상 (지도) :Clojure에 I 방향 문자열을 나침반 키워드에서지도를 가지고
(dirnames :n)
;# = "North"
그것을 :
(def dirnames {:n "North", :s "South", :e "East", :w "West"})
나는 함수로지도를 사용하여 이름을 찾아 볼 수 있습니다 나에게 보인다
(map dirnames [:n :s])
는 벡터
에게 반환한다고["North" "South"]
하지만 대신
[:n :s]
반환합니다. 필자는 (지도) 호출에서 "dirnames"대신 다른 기능을 제공하는 6 가지 방법을 시도했으며, 항상 키워드 벡터를 얻습니다.
분명히 나는 기본적인 것을 놓치고 있습니다. 이게 뭐야? 나를 위해
어떤 Clojure 버전입니까? 필자는 1.4.0과 1.5.1에서만 시도해 본 결과 두 가지 모두 원하는대로 동작합니다. 즉, (map dirnames [: n : s])'("North" "South")'로 평가됩니다. 또는'map'을'mapv'로 바꾸면'[ "North" "South"]'가됩니다. –
Light Table에서이 작업을 수행했습니다. 위의 결과를 Light Table의 "InstaREPL"에서 보았습니다. REPL을 "java -cp clojure.jar clojure.main"으로 실행하면 올바른 동작을 보게됩니다. – Will
가벼운 테이블 문제인 것처럼 보입니다. – Will