Как я могу считать отдельный символ/, ключ от консоли, не имея необходимость совершать нападки Входят? Существует старая запись в базе данных ошибки Sun, утверждая, что она не может быть сделана в чистом Java. Я нашел эти подходы
Я ожидал бы добавлять сингл magic-readkey.jar
к моему пути к классу, и записать несколько строк кода, как (def just-hit (com.acme.MagicConsole/read-char))
.
Вот приложение «немедленного эха», использующее JLine, которое будет печатать int
s, соответствующие зарегистрированным нажатиям клавиш, структурированное как проект Leiningen :
project.clj
:
(defproject con "1.0.0-SNAPSHOT"
: description "FIXME: написать"
: main con.core
: зависимости [[org.clojure / clojure "1.1.0"]
[org.clojure / clojure-contrib "1.1.0"]
[jline "0.9.94"]])
src / con / core.clj
:
(ns con.core
(: импорт jline.Terminal)
(: gen-class))
(defn -main [& аргументы]
(пусть [термин (Терминал / getTerminal)]
(хотя правда
(println (.readCharacter термин Система / в)))))
Рассматриваемая функциональность обеспечивается классом jline.Terminal
, который предоставляет статический метод getTerminal
, возвращающий экземпляр подкласса, зависящего от платформы, который может использоваться для взаимодействия с терминал. См. Javadoc для получения более подробной информации.
Давайте посмотрим, как выглядит asdf
...
$ java -jar con-1.0.0-SNAPSHOT-standalone.jar
97
115
100
102
( C-c , конечно, все еще убивает приложение.)