curses是一个原生gem包,所以需要先安装curses库:

sudo apt-get install libncurses5-dev

然后再安装gem包即可:

gem install curses

以下是curses的api参考:

Curses 模块

模块函数

init_screen

    为curses初始化屏幕。在使用Curses模块中的任何方法之前,都必须调用该方法进行初始化操作。
close_screen

    关闭curses 屏幕。此时若再调用Curses 模块中的方法的话,就会引发异常。
stdscr

    返回代表整个画面的Curses::Window对象。
refresh

    刷新stdscr。
doupdate

    ?
clear

    删除stdscr的字符。该删除操作将立即进行而不会等待refresh。
echo

    启用输入回显。
noecho

    停用输入回显。
cbreak
crmode

    停用键盘输入缓冲。
nocbreak
nocrmode

    启用键盘输入缓冲。
nl

    在cooked 模式中,对return键返回LF (Ctrl-j)。
nonl

    在cooked 模式中,对return键返回CR (Ctrl-m)。
raw

    停止对键盘输入缓冲和Ctrl-C等特殊键的处理(raw 模式)。
noraw

    启用对键盘输入缓冲和Ctrl-C登特殊键的处理(cooked 模式)。
beep

    蜂鸣。若系统中没有该功能时,将被忽略。
flash

    将画面变为闪动的点。若系统中没有该功能时,将被忽略。
getch

    从标准输入中读入1字节。返回值是一个表示ASCII码的整数。
getstr

    从标准输入中读入一行。返回值是字符串。

    在不含getnstr()的平台上,该方法可能会导致缓冲溢出。
ungetch(ch) 将字符ch(表示ASCII代码的整数)置入流。 setpos(y,x)stdscr的光标移动到坐标为(x,y)的地方。坐标起点为0。 若没有字符时,setpos的行为将取决于 OS 。 standout 突出显示其后的字符。“突出显示”常指反显,但也不尽然。 standend 在此处终止突出显示。 addch(ch)stdscr的光标处覆盖以ch (1 字节)insch(ch)stdscr的光标处插入ch (1 字节)addstr(str)stdscr的光标处插入字符串 strdelchstdscr 的光标处删除1 字节的内容。 deleteln 删除stdscr的光标所在行的内容,并将后续内容上调一行。 lines 返回画面中的可显行数。 cols 返回画面中的可显列数(字节)。但有时返回的结果会比实际值少1字节。 inchstdscr的光标处读取1 字节内容后将其返回。
Curses::Window 类

类方法

new(height,width,y,x)

    生成一个以画面坐标(x,y)为左上顶点,宽width高height的curses顶层窗口,并返回表示该窗口的Curses::Window对象。

方法

subwin(height,y)为左上顶点,宽width高height的子窗口,并返回表示该窗口的Curses::Window对象。
close

    关闭窗口。此后若对该窗口对象进行操作的话,就会引发异常。
clear

    清除窗口。该操作会立即执行。
refresh

    更新显示窗口。
Box(ver_char,hor_char)

    沿着窗口绘制方框,对竖线使用ver_char而对横线则使用hor_char。通常情况下,框体边线会被描画在窗口内部,请注意不要出现覆盖情况。
move(y,x)

    将窗口移动到(x,y)。

    若指定位置超出了父窗口的范围,则会被忽略。
setpos(y,x)

    将光标移动到窗口内的 (x,y)位置。
cury

    返回窗口内的光标行号。第一行为 0 。
curx

    返回窗口内的光标列号。第一列为 0 。
maxy

    返回可用的最大 y 坐标。其值为可显行数 + 1 。
maxx

    返回可用的最大 x 坐标。其值为可显字节数 + 1 。
begy

    返回父窗口中的窗口左上角的 y 坐标。 其起点为 0 。
begx

    返回父窗口中的窗口左上角的 x 坐标。 其起点为 0 。
standout

    突出显示后面的字符。
standend

    在此处结束突出显示。
inch

    在窗口光标处读入1字节的内容后将其返回。
addch(ch)

    向窗口光标处覆盖以ch (1 字节)。
insch(ch)

    向窗口光标处插入ch (1 字节)。
addstr(str)
self << str

    向窗口光标处插入字符串 str 。
getch

    从窗口输入中读入1 字节的内容。
getstr

    从窗口输入中读入一行。
delch

    从窗口光标处删除1 字节。
deleteln

    删除窗口中光标所在的行。

Ubuntu下安装gem包curses的步骤的更多相关文章

  1. Ubuntu 12.10 – Ruby gem rmagick缺少依赖性问题

    像许多其他人一样,我在运行bundleinstall时在Ubuntu上安装rmagick时遇到了麻烦.我在bundleinstall命令上遇到这个错误:然后我做了一些搜索,并找到了一些添加缺少的库的建议:sudoapt-getinstalllibmagick9-dev:sudoapt-getinstallgraphicsmagick-libmagick-dev-compat:sudoapt-get

  2. 如何在Ubuntu中安装最新版本的ruby?

    我目前在我的机器上有ruby版本1.8.2,我想将其升级到1.9.2.我该怎么做?

  3. CentOS 7 gem 安装fluentd

    由于logstash太过臃肿,cpu和内存使用过大,我们需要一个性能好,资源消耗低的替代品。测试表明,在相同负载情况下,fluentd的性能数倍于logstash。

  4. ubuntu – Ruby fog gem导致服务器无法运行:无法加载此类文件 – xmlrpc / client(LoadError)

    正如标题所述,我正在尝试建立一个Ubuntu16.04系统来处理rails应用程序.当我注释掉foggem时,服务器在本地启动,并且在其中留下gem会产生下面的错误消息.谷歌搜索似乎没有提供任何东西,因为我找不到其他人与我有相同的错误,我不能简单地从应用程序中删除宝石,因为它是需要的.完整信息如下:如果有人可以告诉我如何下载/安装xmlrpc客户端或解决这个问题,我将不胜感激.所以问题是从Ruby

  5. 如何为Ubuntu打包Ruby应用程序,包括它的gem依赖项?

    我可以使用其他任何工具或者我可以遵循的教程/示例吗?因为apt-get和gem都是依赖解析,你可以创建一个依赖于ruby1.9.1的元数据包.然后在安装后的脚本中,只需要做一个sudogem1.9.1安装maid.我不能在这里列出制作包的整个过程,但是在网上有很多很好的教程.

  6. 如何用will_paginate gem实现ajax分页

    我在我的ROR项目中使用will_paginategem来显示页面中的记录。我想要下载页面,而不是使用ajax重新加载整个页面。创建一个新的帮手,其中包含以下内容:然后在您的视图中使用此标记进行ajax分页:请记住,分页链接将包括URL的现有参数,您可以排除以下内容。这是标准的分页功能:希望能解决你的问题。更新1:添加了一个解释,这是如何工作的originalquestion我发布这个解决方案。更新2:我已经使Rails4与remote:true链接兼容,并将帮助方法重命名为js_will_paginat

  7. 在Ubuntu上安装mysql gem的困难

    我将使用它来在Ubuntu10.04上构建一个Rails2.0.2应用程序。我已经安装了开发依赖。由于某些原因,我无法安装它。我不能完全弄清楚如何解决它。我得到以下在终端中,当我尝试安装它:谢谢你的帮助!!尝试这个,然后安装MysqLgem:如果这不够充分尝试这样

  8. Ubuntu C语言 curses 贪吃蛇 小游戏

    Curses需要使用这个库,通过这个库来进行屏幕的刷新来一张效果图:效果图有点大,发不上来,已传云盘,以下链接:https://pan.baidu.com/s/1ck3cgI

  9. Windows7中Python 3.4中的curses需要什么?

    )您可以使用诅咒交叉平台,如果您手动安装Windows或其他其他软件包.1安装车轮包装.你需要更多关于wheelclickhere的信息吗?2转到thisrepository.3用python版本下载一个包,例如python3.4:4安装它5只包含在你的python脚本中:您可以使用诅咒包装器进行python.在所有终端使用Fedora25,Windows10使用gitbash,powershell或cmd.更新:>Windowshere中的诅咒的替代方法.>Windowshere中的Console用户界

  10. Ubuntu下安装gem包curses的步骤

    curses是一个原生gem包,所以需要先安装curses库:然后再安装gem包即可:以下是curses的api参考:

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部