我写了以下代码
(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)
答案 0 :(得分: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