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))

編集:

それは明らかに私が使用しているバージョンです。これは、プログラミング Clojure の現在のサンプル コードに含まれているバージョンです。現在のリリース バージョンをテストして、それが問題かどうかを確認します。

4

2 に答える 2

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"
于 2009-02-03T22:44:40.747 に答える
1

読み取り行の問題は既知のバグでした。修正されました。Clojure のバージョンを更新します。

于 2009-04-09T13:26:33.520 に答える