Неполадки с функцией чтения строки - PullRequest
5 голосов
/ 04 февраля 2009

Я пытаюсь получить консольный ввод в моей программе 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))

EDIT:

Это, очевидно, просто версия, которую я использую. Это версия, включенная в текущий пример кода Programming Clojure, я протестирую текущую версию выпуска и посмотрю, в этом ли проблема.

Ответы [ 2 ]

3 голосов
/ 04 февраля 2009

Хм, похоже у меня работает. Какую версию Clojure вы используете и как вы называете «read-read»? Вот что я получаю обратно (здесь goo мой ответ):

user=> (defn prompt-read [prompt]
(print (format "%s: " prompt))
(flush )
(read-line))
#'user/prompt-read
user=> (prompt-read "foo")
foo: goo
"goo"
1 голос
/ 09 апреля 2009

Проблема чтения строки была известной ошибкой. Это было исправлено. Обновите версию Clojure.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...