Мы поражаем это также. Несовместимо, мы получим это исключение.
Некоторые вопросы помочь сузить это: Вы используете какие-либо интерфейсы mshtml непосредственно (например, mshtml.dll)? Выполнение кого-либо взаимодействующего с COM непосредственно?
Мы нашли, что вызов некоторых интерфейсов COM MSHTML неправильно может вызвать это.
Мы также нашли, что выполнение COM, упорядочивающего неправильно, может вызвать это.
, Если существует ошибка в импорте интерфейса MSHTML, который использует встроенный WebBrowser, он может вызвать это.
документ Доступа Элементы IFRAME от другого домена могут вызвать это.
возможно, что совершение звонков WebBrowser, когда документ не довольно готов, может также вызвать это.
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!
Помните также, что у вас есть доступ ко всей 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, чтобы создать небольшой графический интерфейс, чтобы пользователь ввод ...