10

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

(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))

)
4

1 回答 1

10

因为 url 不是有效的令牌:

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
于 2012-08-16T14:39:38.760 回答