在不停止执行的情况下,使用什么命令/关键字来检查键盘输入?我想构建一个将连续运行的循环,并且在循环的每次迭代中,我想检查键盘输入。如果用户按下右键,我的程序将对其执行操作;如果没有,它将继续运行。
EDIT 我希望它能够按下回车键。就像游戏运行时一样,检查用户是否按下箭头键然后按下按键,或者如果没有按任何键则继续操作。
答案 0 :(得分:1)
从what I could find和一些黑客攻击,我设法将一些能够立即回应你在命令行中运行时按下的键的内容。
require 'io/console'
loop do
p STDIN.getch
end
但正如引用的答案所提到的那样,您将要捕获SIGTERM,这样您就不会被困在程序中:Signal.trap("INT") { exit }
所以程序的所有内容及其所有处理都存在于主循环中,并且每个循环都会在STDIN中抓取一个字符。
答案 1 :(得分:0)
你不能用一个简单的方法做到这一点。最常见的方法是使用curses
gem。