考虑到有效的clojure形式:
> (let [a 16 b 8] (/ a b))
2
我正在尝试手动构建它以便将其输入到eval
呼叫中。我之前被repl拒绝了:
> (list 'let '[ 'a '16 'b '8 '] '(/ a b) )
RuntimeException Unmatched delimiter: ] clojure.lang.Util.runtimeException (Util.java:156)
(/ a b)
RuntimeException Unmatched delimiter: ) clojure.lang.Util.runtimeException (Util.java:156)
引用数组字符[]
是不够的。实际上,以下表达式(删除 [ 和 ])是可以的:
> (list 'let 'a '16 'b '8 '(/ a b) )
(let a 16 b 8 (/ a b))
这种结构有什么问题?我该如何解决这个问题?是否有任何特殊形式来引用 [ 和 ] 字符?