gpt4 book ai didi

Ruby Curses 控制回车键

转载 作者:数据小太阳 更新时间:2023-10-29 07:38:11 25 4
gpt4 key购买 nike

我正在学习 Curses 类(class),但无法控制 ENTER 键。到目前为止,这是我的代码:

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。我没有使用花哨的键盘或任何东西;标准的美国。

最佳答案

好吧,好像 Curses.nonl 只是意味着当按下 ENTER 时,写的是“\r”而不是“\r\n”,所以我设法解决这个问题的唯一方法问题是使用 Curses.raw 禁用任何输出到屏幕并自己实现所有数据写入屏幕。

我不知道为什么常量没有太大变化。也许这就是键盘上(右下角)other ENTER 键的常量。不过这并不重要,我只需执行 puts Curses.getch 即可找出 key 的编号。

关于Ruby Curses 控制回车键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13741317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com