我想在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. 如何構建UI如skype
- 3. 如何調用頂級構造函數?
- 4. 如何以自頂向下的方式構建Web UI?
- 5. 在Eclipse中構建GWT UI
- 6. 如何檢查Ruby中的頂級域名字符串
- 7. 如何在Mysql中顯示頂級值
- 8. 如何在Wordpress中創建一個新的頂級菜單?
- 9. 如何在enterprice版本中創建一個新的頂級類
- 10. 如何在javascript中創建頂級命名空間
- 11. 如何在PHP中創建用戶頂級列表?
- 12. 如何在PHP中創建一個哈希頂級列表?
- 13. 如何從另一個頂級選擇中選擇頂級1?
- 14. 頂級和次級分類結構
- 15. 如何在不重複導入頂級名稱的情況下構建python包
- 16. 如何在Eclipse RCP中創建自定義UI構建器
- 17. 如何在Ruby視圖中創建漂亮的UI
- 18. 如何使用JAVA實現Linux頂級命令UI?
- 19. 如何在Windows上構建Qt Ruby/ruby-KDE/Qt綁定?
- 20. 如何構建umd的material-ui版本?
- 21. 如何構建UI的登錄
- 22. 我們如何構建jquery移動UI
- 23. 「構建步驟」調用頂級Maven目標'標記構建失敗「錯誤
- 24. 構建步驟'調用頂級Maven目標'標記構建爲失敗
- 25. 如何在OrientDB中創建頂點並創建頂點
- 26. 如何佈局根頂級
- 27. 在workerthread上構建WPF UI?
- 28. 如何構建Ruby on Rails網站
- 29. Ruby-如何構建多值散列?
- 30. 在Windows XP上構建Ruby
@jess,那是Ruby 1.9嗎? – runako 2009-05-19 03:40:56
是的。我有#!到ruby19,但由於某種原因,當我發佈時,它將字體強化了大約500%,所以我將它刪除了。我喜歡新的語法糖! – jess 2009-05-19 04:16:15