用户输入读取而不返回朱莉娅

时间:2018-04-11 20:27:20

标签: io julia

使用read(STDIN)readlines()时,该功能仅在按返回后才会收到文字。如何在不等待回报的情况下获得只有一封信的输入?

1 个答案:

答案 0 :(得分:3)

这不是关于朱莉娅,而是关于你的环境。终端缓冲字符,直到它看到\nEOF字符,然后将字符放在STDIN中。您可以通过进入raw mode直接将按下的字符发送到STDIN来绕过此行为。在Julia中,您可以通过使用run进行系统调用来完成此操作。如果你在Linux上,以下工作:

run(`stty raw`)
read(STDIN, Char)

您可以使用

返回(可能)默认模式
run(`stty cooked`)