我在 Linux (和 konsole,如果这有影响的话)工作,并希望对屏幕有一些基本的控制。我需要的很简单,不需要 ncurses 的全部功能,我真正需要三个简单的命令,“清除屏幕”、“转到 x 和 y”和“使用此颜色”。
任何人都可以提出建议吗?
要控制屏幕,您需要发送(或打印)ANSI 控制序列。要清除屏幕的顺序是\e[2J
,您可以只是puts
或print
,STDOUT
这取决于您的需要。
Ruby 中的一些示例方法:
def clear_screen
print "\e[2J"
end
def clear_line
print "\e[2K"
end
def reset_cursor
print "\e[H"
end
def position_cursor(y,x)
print "\e[#{y};#{x}H"
end
def red
print "\e[0;31m"
end
序列表在这里: http ://ascii-table.com/ansi-escape-sequences.php
您可以在此处查看颜色序列表: http ://www.pixelbeat.org/docs/terminal_colours/