Clojure读线功能问题

Ray*_*yne 5 clojure

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

Exception in thread "main" java.lang.ClassCastException:
clojure.lang.LineNumberingPushbackReader cannot be cast to java.io.BufferedReader
Run Code Online (Sandbox Code Playgroud)

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

(defn prompt-read [prompt]
  (print (format "%s: " prompt))
  (flush )
  (read-line))
Run Code Online (Sandbox Code Playgroud)

编辑:

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

Chr*_*nch 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"
Run Code Online (Sandbox Code Playgroud)