当我从控制台运行vim或top时,他们可以接管渲染整个控制台。当我退出时,我会回到控制台。
有可能从红宝石那里做到这一点吗?举个简单的例子,我将如何做以下
# Rakefile
task :clock do
loop do
console.render Time.now
sleep 1
end
end
当我运行它时,控制台将被清除,第一行将显示时间。当我退出时,我会继续执行控制台会话,就像我运行rake clock之前一样。
检查了tictactoe example ruby curses这里是时钟示例的实现。我已经在随机线上显示时钟,以演示整个控制台的刷新。
#!/usr/bin/env ruby
require 'curses'
loop do
Curses.clear
Curses.setpos(rand * 10, 0)
Curses.addstr(Time.now.to_s);
Curses.refresh
sleep 1
end
答案 0 :(得分:5)
您正在寻找可让您完全控制屏幕的Ruby curses库:定位,颜色和c。
这不是一个很好的文档库,但Stackoverflow搜索“[ruby] curses”将为您提供示例链接。