5

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

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

“读取”功能有效,但这不是我需要的。这是我正在使用的代码。

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

编辑:

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

4

2 回答 2

3

嗯,它似乎对我有用。您使用的是哪个版本的 Clojure 以及如何调用提示阅读?这是我要回来的(这goo是我的回应):

user=> (defn prompt-read [prompt]
(print (format "%s: " prompt))
(flush )
(read-line))
#'user/prompt-read
user=> (prompt-read "foo")
foo: goo
"goo"
于 2009-02-03T22:44:40.747 回答
1

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

于 2009-04-09T13:26:33.520 回答