2013-05-05 48 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

相關問題