【问题标题】:What does the clojure syntax '[] mean?clojure 语法 '[] 是什么意思?
【发布时间】:2014-12-10 09:38:21
【问题描述】:

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

例如:

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

(.get '[a b c] 1)

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

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

【问题讨论】:

    标签: clojure


    【解决方案1】:

    没错。 'quote 的同义词,所以

    '[a b c]
    

    只是

    (quote [a b c])
    

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

    ['a 'b 'c]
    

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

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

    【讨论】:

    • 感谢您的解释! user> (= '[a b c] ['a 'b 'c] [(symbol "a") (symbol "b") (symbol "c")]) true
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 2014-04-21
    相关资源
    最近更新 更多