gpt4 book ai didi

ruby 诅咒颜色

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

如何使用 Ruby 的默认 Curses 库获取颜色?

所以像这样:

puts "\e[0m\e[30;47mtest\e[0m"

效果很好。在浅灰色背景上呈现漂亮的黑色。但是这个:

#!/usr/bin/env ruby

require 'curses'

Curses.noecho # do not show typed keys
Curses.init_screen
Curses.stdscr.keypad(true) # enable arrow keys (for pageup/down)
Curses.stdscr.nodelay = 1

Curses.clear
Curses.setpos(0,0)
Curses.addstr "Hello!"
Curses.addstr "\e[0m\e[30;47mHello!\e[0m"

显示:

Hello!

^[[0m^[[30;47mHello!^[[0m

最终,我需要颜色:

How to capture a key press in Ruby?

require 'curses'

Curses.noecho # do not show typed keys
Curses.init_screen
Curses.stdscr.keypad(true) # enable arrow keys (required for pageup/down)

loop do
case Curses.getch
when Curses::Key::PPAGE
Curses.setpos(0,0)
Curses.addstr("Page Up")
when Curses::Key::NPAGE
Curses.setpos(0,0)
Curses.addstr("Page Dn")
end
end

最佳答案

在 ruby​​ 源代码中有 curses 用法的例子,参见,例如here .

你的代码可能是这样的:

require 'curses'
include Curses

Curses.noecho # do not show typed keys
Curses.init_screen
Curses.stdscr.keypad(true) # enable arrow keys (required for pageup/down)
Curses.start_color
# Determines the colors in the 'attron' below
Curses.init_pair(COLOR_BLUE,COLOR_BLUE,COLOR_BLACK)
Curses.init_pair(COLOR_RED,COLOR_RED,COLOR_BLACK)

loop do

case Curses.getch

when Curses::Key::PPAGE
Curses.clear
Curses.setpos(0,0)
# Use colors defined color_init
Curses.attron(color_pair(COLOR_RED)|A_NORMAL){
Curses.addstr("Page Up")
}
when Curses::Key::NPAGE
Curses.clear
Curses.setpos(0,0)
Curses.attron(color_pair(COLOR_BLUE)|A_NORMAL){
Curses.addstr("Page Down")
}
end
end

关于 ruby 诅咒颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7328380/

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