我很難理解(因此記住)這裏描述的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