我很难理解(因此记住)这里描述的clojure require语法:http://clojuredocs.org/clojure_core/1.3.0/clojure.core/require。看起来这两种情况都是违反直觉和不一致的。clojure需要语法理由
例如,在下文中为何需要这种载体被引用:
(require '[clj-json.core :as json])
计数器直观的,因为通常矢量不Clojure中引述(列表被引用和载体被视为数据)。
和不均匀的,因为在这种情况下,载体不带引号:
(ns xxx
(:require [clj-json.core :as json]))
我意识到,需要功能和NS宏内部的:require
使用率只有光学相似,但仍。
有古怪的其他作品还有,比如我可以这样做:
(require '(clj-json.core))
但我不能这样做:
(require '(clj-json.core :as json))
有人能回答这些问题:
- 在第一个示例中,为什么需要引用该向量?
- 为什么不需要在ns宏中引用?
- 为什么列表符号不允许
:as
?
我想知道是否有原因,他们是事情的方式,或者如果不一致,只是没有注意到在设计时间。
退房[该线程](https://groups.google.com/forum/?fromgroups#!searchin/clojure-dev/ns$20macro/clojure-dev/6EEfdPhrWgk/qJALczHTzpkJ)上的Clojure -dev列表,如果你还没有看到它。我发现它很有用。 – Jeremy