4
我正在学习Curses类,并且无法控制ENTER键。这是我的代码到目前为止:Ruby Curses控制输入键
require 'curses'
win = Curses::Window.new(0, 0, 0, 0)
Curses.init_screen
Curses.cbreak
Curses.nonl
Curses.stdscr.keypad(true)
loop do
case Curses.getch
when 13 # Enter
Curses.addstr "abc"
when 8 # Backspace
Curses.delch
end
end
win.close
问题是,当我按ENTER键时,“abc”被写入屏幕(如预期);但是,当我第二次按ENTER时,“abc”只是重写到屏幕上的相同位置。看起来好像按ENTER键首先将光标位置设置为(0,0),然后它添加字符串。我怎样才能停止它将光标位置设置为(0,0)?
另外,由于某些原因,常量与我的键不匹配,所以ENTER键是13键,但ENTER键的Ruby常量是400ish。我没有使用花哨的键盘或任何东西;标准的美国人。