代码之家  ›  专栏  ›  技术社区  ›  Rayne

Clojure读取行功能问题

  •  5
  • Rayne  · 技术社区  · 15 年前

    我正在尝试在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))
    

    编辑:

    很明显这只是我使用的版本。它是当前编程Clojure示例代码中包含的版本,我将测试当前的发布版本,看看这是否是问题所在。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Chris Bunch    15 年前

    嗯,这似乎对我有用。您使用的是什么版本的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"
    
        2
  •  1
  •   SomeGuy    15 年前

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