我正在Linux(和konsole,如果這使得sifference),並希望對屏幕有一些基本的控制。我需要的是簡單的,並不需要ncurses的全部力量,我真的需要三個簡單的命令,「清除屏幕」,「去x和y」和「使用這種顏色」。紅寶石終端輸出沒有詛咒?
任何人都可以提出建議嗎?
我正在Linux(和konsole,如果這使得sifference),並希望對屏幕有一些基本的控制。我需要的是簡單的,並不需要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/
另一個有用的博客文章讓您開始: http://trainofthought.segfault.gr/2011/11/29/ruby-terminal-manipulation-without-ncurses/ – 2013-08-28 04:26:56
什麼問題ncurses的?對於您正在查找的這三個命令而言,這非常明智 – 2013-04-28 18:40:20