提问人:gdonald 提问时间:10/30/2023 更新时间:11/1/2023 访问量:63
从控制台获取单个字符,而无需在 Elixir/Erlang 中按回车键
Getting a single character from the console without hitting enter in Elixir/Erlang
问:
我将我的 Elixir 应用程序从 1.8 版升级到 1.15.7 版。现在,我的代码无需按回车键即可从控制台获取单个字符,不再起作用:
{:ok, Port.open({:spawn, "tty_sl -c -e"}, [:binary, :eof])}
我安装了 Erlang 26.0.2,但似乎不再存在tty_sl。有没有另一种方法可以在不按回车键的情况下获得单个字符?
答:
0赞
Aleksei Matiushkin
11/1/2023
#1
很难说你实际上想要实现什么,但是是的,已经从 OTP 26
中删除了,转而支持内部 shell 处理。tty_sl
您可能需要的是生成一个常规命令,然后在它启动后立即向它发送 stty raw -echo
命令。tty
评论