相关疑难解决方法(0)

获取控制台用户输入为chard,char为char

我在Elixir有一个控制台应用程序.我需要通过按键来解释用户的输入.例如,我需要将"q"视为结束会话的命令,而无需用户明确按" aka回车".

IO.getn/2令人惊讶地等待按下,缓冲输入(我几乎可以肯定,这个缓冲是由控制台本身完成的,但是man stty没有提供任何帮助/标志来关闭缓冲.)

Mix.Utils 使用无限循环隐藏用户输入(基本上每隔1ms向控制台发送退格控制序列)IEx代码包含对标准erlang的调用io,这提供了设置回调的唯一能力Tab(用于自动完成).

我的猜测是我必须使用Port,将它附加到:stdin并生成一个进程来监听输入.不幸的是,我坚持尝试实现后者,因为我需要连接到当前运行的控制台,而不是为其他进程创建一个新端口(因为这里有完美的描述.)

我失去了对我怎么附加一个明显的东西Port到当前进程的:stdin(这是BTW列出Port.list/0)或者我应该已经建立了全3管道架构重定向什么类型来:stdin和任何我的程序要puts:stdout

console port command-line-interface elixir

12
推荐指数
2
解决办法
795
查看次数

标签 统计

command-line-interface ×1

console ×1

elixir ×1

port ×1