Clojure读线功能问题

时间:2009-02-03 22:39:37

标签: clojure

我正在尝试在我的Clojure程序中获取控制台输入,但是当它到达程序的那一部分时它给我这个错误。

Exception in thread "main" java.lang.ClassCastException:
clojure.lang.LineNumberingPushbackReader cannot be cast to java.io.BufferedReader

'read'功能有效,但这不是我需要的。这是我正在使用的代码。

(defn prompt-read [prompt]
  (print (format "%s: " prompt))
  (flush )
  (read-line))

编辑:

这显然只是我正在使用的版本。它是当前的Programming Clojure示例代码中包含的版本,我将测试当前的发行版本并查看是否存在问题。

2 个答案:

答案 0 :(得分:3)

嗯,它似乎对我有用。您使用的是什么版本的Clojure以及如何调用prompt-read?这是我要回来的(这里goo是我的回复):

user=> (defn prompt-read [prompt]
(print (format "%s: " prompt))
(flush )
(read-line))
#'user/prompt-read
user=> (prompt-read "foo")
foo: goo
"goo"

答案 1 :(得分:1)

读取线问题是一个已知的错误。它是固定的。更新您的Clojure版本。