我正在尝试从clojure客户端ping fleetdb。当我ping服务器时,我得到了响应"pong",但是当我试图用def将它保存到一个变量时,我得到了"UnsupportedOperationException applyTo“。
(use 'fleetdb.client)
(def client (connect {:host "127.0.0.1", :port 3400}))
(client ["ping"]) ; get back "pong" as response
(type (client ["ping"])) ;java.lang.String
(print (client ["ping"])) ; get back "pong" as response
(def isalive (client ["ping"]))
; UnsupportedOperationException applyTo fleetdb.client.proxy$java.lang.Object$IFn
; $ILookup$Closeable$9aed515e.applyTo (:-1)尝试使用clojure 1.2和1.3.0-alpha4
怎么啦?
发布于 2011-01-19 06:05:37
客户端代理似乎没有定义作为IFn接口一部分的applyTo方法:
https://github.com/mmcgrana/fleetdb-client/blob/master/src/fleetdb/client.clj#L54
这将会起作用:
user> (def x (.invoke client ["ping"]))
#'user/x我需要了解为什么使用applyTo而不是invoke
https://stackoverflow.com/questions/4727183
复制相似问题