作为一个学习练习,我正在制作一个基于终端的交互式程序(一个游戏)。我想让程序逐个字符处理输入。每次用户按下按钮,程序都会进行处理并输出。我用标准的库找不到这样做的方法。我知道 read
和 read-line
函数,但它们会读取整行(直到按下回车)。这并不是我想要的。我在网上搜索并找到了这个解决方案,它使用了 jline3 Java 库:[链接](https://stackoverflow.com/questions/58571928/how-can-i-read-a-single-character-from-stdin-in-clojure)。我试着按照它来做,但当我运行我的程序时,我得到了以下警告和错误。
警告:无法创建系统终端,创建笨终端(要获取更多信息,请启用调试日志)。异常发生在线程 "main" 中,编译错误在 (/private/var/folders/nt/26pz2dqj4y70z38vrtgd8t4m0000gn/T/form-init7411586405251765923.clj:1:125)。原因是:类 org.jline.terminal.impl.DumbTerminal 中找不到匹配的字段 read。
我不知道如何启用调试日志。我正在使用OSX和iTerm2。我已在此处提出了相同的问题。