这是一个使用 JLine 的“立即回显”应用程序,它将打印int
与注册按键相对应的 s,结构为Leiningen项目:
project.clj
:
(defproject con "1.0.0-SNAPSHOT"
:description "FIXME: write"
:main con.core
:dependencies [[org.clojure/clojure "1.1.0"]
[org.clojure/clojure-contrib "1.1.0"]
[jline "0.9.94"]])
src/con/core.clj
:
(ns con.core
(:import jline.Terminal)
(:gen-class))
(defn -main [& args]
(let [term (Terminal/getTerminal)]
(while true
(println (.readCharacter term System/in)))))
所讨论的功能由jline.Terminal
该类提供,该类提供了一个静态方法,该方法getTerminal
返回一个特定于平台的子类的实例,该子类可用于与终端交互。有关更多详细信息,请参阅Javadoc。
让我们看看是什么asdf
样子...
$ java -jar con-1.0.0-SNAPSHOT-standalone.jar
97
115
100
102
(C-c当然,仍然会杀死应用程序。)