0

我写了以下代码

(defn create [title url]
  (when (not-any? clojure.string/blank? '(title url))
    (println "doing stuff")))

但是,当我调用该函数时

(create "title" "url")

我收到以下错误,无法弄清楚我做错了什么

ClassCastException clojure.lang.Symbol cannot be cast to java.lang.CharSequence  clojure.string/blank? (string.clj:279)
4

1 回答 1

3

当我第一次开始学习 clojure 时,这也是让我绊倒的事情之一。基本上,你应该使用

(list title url)

clojure 编译器处理

'(title url)

作为

(quote (title url))

'quote' 不会评估其中的任何内容,因此 'title' 和 'url' 只是符号(准确地说是 clojure.lang.Symbols)。

这是比我更好的解释:http: //blog.8thlight.com/colin-jones/2012/05/22/quoting-without-confusion.html

于 2013-07-13T20:17:09.853 回答