【问题标题】:Clojure read-line function problemClojure 读取行函数问题
【发布时间】:2009-02-03 22:39:37
【问题描述】:

我试图在我的 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 示例代码中包含的版本,我将测试当前的发行版本,看看是否有问题。

【问题讨论】:

标签: clojure


【解决方案1】:

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

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

【讨论】:

  • 是的,先生,这就是问题所在!谢谢!
  • 当然。 Clojure 最近发生了很大变化,所以我在本书的第一个测试版和当前的测试版之间遇到了很多类似的问题(但显然这很快就会平静下来)。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2011-02-22
    • 2022-01-21
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多