Как получить ввод данных пользователем в Clojure?

Мы поражаем это также. Несовместимо, мы получим это исключение.

Некоторые вопросы помочь сузить это: Вы используете какие-либо интерфейсы mshtml непосредственно (например, mshtml.dll)? Выполнение кого-либо взаимодействующего с COM непосредственно?

Мы нашли, что вызов некоторых интерфейсов COM MSHTML неправильно может вызвать это.

Мы также нашли, что выполнение COM, упорядочивающего неправильно, может вызвать это.

, Если существует ошибка в импорте интерфейса MSHTML, который использует встроенный WebBrowser, он может вызвать это.

документ Доступа Элементы IFRAME от другого домена могут вызвать это.

возможно, что совершение звонков WebBrowser, когда документ не довольно готов, может также вызвать это.

39
задан dbr 11 July 2009 в 22:26
поделиться

2 ответа

read-line - правильная функция ..

(println (read-line))

.. будет в основном повторять ввод пользователя:

Clojure 1.0.0-
user=> (println (read-line))
this is my input
this is my input

Чтобы использовать его в операторе if, вы, вероятно, использовали бы let:

(let [yayinput (read-line)]
  (if (= yayinput "1234")
    (println "Correct")
    (println "Wrong")))

Надеюсь, этого достаточно, чтобы вы начали, потому что это почти предел моих знаний о Clojure!

52
ответ дан 27 November 2019 в 02:28
поделиться

Помните также, что у вас есть доступ ко всей Java ...

Хорошо, так что, возможно, мне стоит привести несколько примеров ... мои навыки закрытия не очень хороши, поэтому для этих примеров может потребоваться немного настройки.

Способ System.console () :

(let [console (. System console)
     pwd (.readPassword console "tell me your password: ")]
   (println "your password is " pwd))

Способ BufferedReader :

(print "give me a line: ")
(let [reader (java.io.BufferedReader. *in*)
     ln (.readLine reader)]
   (println "your line is " ln))

Я хочу сказать, что можно использовать знания Java и самой Java в Clojure. Это одна из его основных, заявленных сильных сторон.

Интересно, какой была бы моя оценка, если бы вопрос касался ввода данных пользователем из графического интерфейса!

Между прочим, вы могли бы использовать JOptionPane, чтобы создать небольшой графический интерфейс, чтобы пользователь ввод ...

27
ответ дан 27 November 2019 в 02:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: