如何正确使用Ruby中的Curses::KEY_BACKSPACE
假设我有以下代码:如何正确使用Ruby中的Curses::KEY_BACKSPACE,ruby,curses,Ruby,Curses,假设我有以下代码: require 'curses' Curses.init_screen loop { ch = Curses.getch case ch when Curses::KEY_BACKSPACE Curses.addstr('Backspace \n') else Curses.addstr("Key: #{ch} \n") end } Curses.close_screen 当我按下backspace键时,我得到以下输
require 'curses'
Curses.init_screen
loop {
ch = Curses.getch
case ch
when Curses::KEY_BACKSPACE
Curses.addstr('Backspace \n')
else
Curses.addstr("Key: #{ch} \n")
end
}
Curses.close_screen
当我按下backspace键时,我得到以下输出:
Key: 8
预期产出:
Backspace
为什么??我做错了什么?我怎样才能修好它
提前谢谢。你没有做错任何事。问题是键退格的定义,与终端实际返回的内容相对应。。。基本上,这是一个历史性的混乱 只需检查
\b
(或8)而不是(或除了)键退格。(实际上,我不确定您是否会得到KEY_BACKSPACE的返回值,但检查它是无害的。)