我想在Ruby中使用基于文本的UI构建一个类似于Linux命令“顶部”的应用程序。我可以使用什么工具包和/或技术来构建UI?特别是我想要一个不断更新的控制台窗口区域,并且能够按下按键来操作显示。如何在Ruby中构建顶级UI
0
A
回答
1
Ncurses的是伟大的控制台应用程序,你可以找到绑定,它大量的语言(或只是使用shell脚本)。甚至还有一个诅咒的gtk(http://zemljanka.sourceforge.net/cursed/),尽管我认为它的工作停止了一段时间。
你没有提到你的平台,但是对于OS/X,有一个名为Geektool(http://projects.tynsoe.org/en/geektool/)的很棒的小应用程序,它允许你将脚本输出放到桌面上。我用一个小的Ruby脚本来生成我顶进程列表:
puts %x{uptime}
IO.popen("ps aruxl") { |readme|
pslist = readme.to_a
pslist.shift # remove header line
pslist.each_with_index { |i,index|
ps = i.split
psh = { user: ps[0], pid: ps[1], pcpu: ps[2], pmem: ps[3],
vsz: ps[4], rss: ps[5], tty: ps[6], stat: ps[7],
time: ps[8], uid: ps[9], ppid: ps[10], cpu: ps[11], pri: ps[12],
nice: ps[13], wchan: ps[14], cmd: ps[16..ps.size].join(" ") }
printf("%-6s %-6s %-6s %s", "PID:", "%CPU:", "%Mem", "Command\n") if index == 0
printf("%-6d %-6.1f %-6.1f %s\n",
psh[:pid].to_i, psh[:pcpu].to_f, psh[:pmem].to_f, psh[:cmd]) if index < 10
}
}
(这很可能会更好,但它是我写过的第一台红宝石脚本,因为它的作品我从来没有重新审视它来改善它 - 它不需要输入。无论如何,它可能会帮助给你一些想法)
2
对于终端接口,见http://ncurses-ruby.berlios.de/
0
有stfl但我不知道是否维护ruby绑定。 ncurses可能是你最好的选择。
相关问题
- 1. 如何在Xcode中构建项目Ruby?
- 2. 如何以自顶向下的方式构建Web UI?
- 3. 如何构建UI如skype
- 4. 如何在Mysql中显示顶级值
- 5. 如何在enterprice版本中创建一个新的顶级类
- 6. 如何在javascript中创建顶级命名空间
- 7. 如何在android中创建顶级按钮菜单?
- 8. 如何在PHP中创建用户顶级列表?
- 9. 如何在Wordpress中创建一个新的顶级菜单?
- 10. 如何从另一个顶级选择中选择顶级1?
- 11. 顶级和次级分类结构
- 12. 如何在Eclipse RCP中创建自定义UI构建器
- 13. 如何在Ruby视图中创建漂亮的UI
- 14. 如何使用JAVA实现Linux顶级命令UI?
- 15. 如何在Windows上构建Qt Ruby/ruby-KDE/Qt绑定?
- 16. “构建步骤”调用顶级Maven目标'标记构建失败“错误
- 17. 如何构建umd的material-ui版本?
- 18. 在workerthread上构建WPF UI?
- 19. 如何构建Ruby on Rails网站
- 20. 在Windows XP上构建Ruby
- 21. 如何访问ActionScript中的顶级包?
- 22. 如何在Ruby/Rails中构建/运行预准备语句?
- 23. 如何在ruby中构建这个JSON对象?
- 24. 如何在Ruby中构建双重嵌套的散列?
- 25. 如何在Ruby中使用S表达式构建AST?
- 26. 如何在Eclipse中将静态内部类重构为顶级类?
- 27. 在Ruby on Rails中构建向导
- 28. 在Ruby中构建BinData记录
- 29. 在Ruby中构建Web服务
- 30. 在Ruby中如何使用#{...}构造?
@jess,那是Ruby 1.9吗? – runako 2009-05-19 03:40:56
是的。我有#!到ruby19,但由于某种原因,当我发布时,它将字体强化了大约500%,所以我将它删除了。我喜欢新的语法糖! – jess 2009-05-19 04:16:15