2013-05-05 47 views
2

我有以下的Clojure代码(试图写/得到Redis的条目):不知道如何从创建ISEQ:clojure.lang.Symbol

(ns hello.core2) 
(ns h hello.core2 (:require [taoensso.carmine :as car])) 

(def pool (car/make-conn-pool)) 
(def spec-server1 (car/make-conn-spec)) 
(defmacro wcar [& body] `(car/with-conn pool spec-server1 [email protected]))` 

(defn -main 
    (wcar (car/ping) 
    (car/set "foo" "bar") 
    (car/get "foo"))) 

我得到以下错误:

Exception in thread "main" java.lang.IllegalArgumentException: Don't know how to create ISeq from: clojure.lang.Symbol 
    at clojure.lang.RT.seqFrom(RT.java:487) 
    at clojure.lang.RT.seq(RT.java:468) 

任何想法我做错了什么?

回答

6

的问题大概是这样的:

(ns h hello.core2 (:require [taoensso.carmine :as car])) 

应该只有一个命名空间的声明,就像这样(这样也使第一NS表达):

(ns hello.core2 
    (:require [taoensso.carmine :as car])) 
6

(defn -main ...):你忘了争论矢量功能-main;它应该是(defn -main [& args] ...)

+0

干杯,只能有一个正确的答案,但这也是一个问题。 – bstack 2013-05-05 21:01:17

相关问题