我试图在不使用 Enter 的情况下立即从命令行读取字符。我正在使用的 ruby (ruby 1.9.3p374) 代码如下:
require 'io/console'
ch = STDIN.getch
puts ch
直到现在一切都很好,但现在我想把这段代码放在一个无限循环中做一些其他的事情,比如
loop do
puts "..doing stuff.."
ch = STDIN.getch
if ch == 'q'
break
end
end
但是这段代码总是强制我们在每次打印之间按下一个键。我想要一种类似于STDIN.read_nonblock方法的行为,但无需在按下一个字符后按下回车键。
基本上我想打印“..doing stuff..”,直到我按下键盘上的某个键,但我不想使用 enter。
任何帮助将不胜感激。谢谢