在不停止执行的情况下,使用什么命令/关键字来检查键盘输入?我想构建一个连续运行的循环,在循环的每一次迭代中,我都想检查键盘输入。如果用户按下正确的键,我的程序就会对其进行操作;否则,它将继续运行。
编辑我希望它能在不按回车键的情况下工作。就像游戏运行时一样,它会检查用户是否按下箭头键,然后对按键进行操作,或者在没有按下任何键的情况下继续操作。
根据我所能找到的和周围的一些黑客攻击,我成功地组合了一些东西,这些东西会立即响应你在命令行中运行时按下的键。
require 'io/console'
loop do
p STDIN.getch
end
但正如参考答案所提到的,您将希望捕获SIGTERM,这样您就不会被困在程序中:Signal.trap("INT") { exit }
因此,程序的核心及其所有处理都存在于主循环中,每个循环都会从STDIN中获取一个字符。
使用简单的方法无法做到这一点。最常见的方法是使用curses
gem。