带状态的Ruby状态栏

时间:2013-08-30 02:36:49

标签: ruby command-line sleep

我的终端上有一个番茄钟定时器客户端。我想添加一个带有井号(#)的状态栏。

例如,我想每25分钟使用一个循环。我想打印'#'并让程序睡眠60秒。 60秒后,我希望它返回循环并打印另一个'#'并再次睡眠但是当我运行该程序时,我看到一条欢迎消息但是它结束了程序。

红宝石

def period(t, message)
  puts "#{message} #{t / 60} min.".colorize( color )
  put "Status: "
  time_left = t / 60    # Convert to minutes
  (0..time_left).each do |minute|
    put "#"
    sleep 60
  end
end

欢迎任何建议,因为我很难过。救命!

2 个答案:

答案 0 :(得分:0)

我怀疑它可能是t的值,它从t / 60得到0。

答案 1 :(得分:0)

您可以使用rufus-scheduler

require 'rufus/scheduler'
scheduler = Rufus::Scheduler.start_new
scheduler.every '60s' do
  putc "#"
end
scheduler.join