clojure语法'[]的含义是什么?

时间:2014-12-10 09:38:21

标签: clojure

'()(quote ())的语法糖。但'[]是什么意思?引用一个向量?

例如:

(use '[clojure.test :as t])

(.get '[a b c] 1)

(.containsAll '[a b c] '[b c])

((fnth 5) '[a b c d e])

1 个答案:

答案 0 :(得分:13)

正。 'quote的同义词,所以

'[a b c]

只是

(quote [a b c])

quote阻止评估Clojure代码,因此引用整个向量与引用它的每个元素基本相同:

['a 'b 'c]

它允许您生成symbols的向量,而不显式调用symbol function

[(symbol "a") (symbol "b") (symbol "c")]