【问题标题】:terminal output in ruby without curses?没有诅咒的红宝石终端输出?
【发布时间】:2013-04-28 13:47:59
【问题描述】:

我在 Linux 中工作(如果有影响的话,我还使用 konsole)并且希望对屏幕进行一些基本的控制。我需要的很简单,不需要 ncurses 的全部功能,我真正需要三个简单的命令,“清除屏幕”、“转到 x 和 y”和“使用此颜色”。

任何人都可以提出建议吗?

【问题讨论】:

  • ncurses 有什么问题?对于您要查找的这三个命令,它非常简单

标签: ruby ncurses


【解决方案1】:

要控制屏幕,您需要发送(或打印)ANSI 控制序列。 清除屏幕的顺序是\e[2J,你可以只是putsprintSTDOUT,这取决于你的需要。

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/

【讨论】:

猜你喜欢
  • 2011-11-11
  • 2019-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-11
  • 2015-08-14
  • 1970-01-01
相关资源
最近更新 更多