在clojure中,为什么包含url的块注释会抛出异常?

时间:2012-08-16 14:25:43

标签: clojure functional-programming

为什么以下不起作用?这就是它抛出异常的原因?:

(comment 

Replicate a Sequence
http://www.4clojure.com/problem/33

        (= (__ [1 2 3] 2) '(1 1 2 2 3 3))

)

用另一个字符串替换url,似乎没问题。

(comment 

Replicate a Sequence
replace the url and all is well. why 

        (= (__ [1 2 3] 2) '(1 1 2 2 3 3))

)

1 个答案:

答案 0 :(得分:10)

因为网址不是有效的标记:

Clojure> http://www.4clojure.com/problem/33
java.lang.RuntimeException: Invalid token: http://www.4clojure.com/problem/33

的其他字符串可以被读作Clojure表格:

Clojure> (quote (replace the url and all is well. why))
(replace the url and all is well. why)

也就是说,Clojure无法解析第一个例子,无论它是否在(comment ...)

为了完整性,请注意网址没有;评论:

Clojure> 3 ; http://www.4clojure.com/problem/33
3