Ruby 保持时间

Ruby 保持时间,ruby,time,Ruby,Time,我有这个剧本: T = Time.now def warn(input) puts "[#{T.hour}:#{T.min}:#{T.sec}] #{input}" end 如果我通过一个循环来运行它: 5.times do warn("test") end 它将输出以下内容: [22:24:49] test [22:24:49] test [22:24:49] test [22:24:49] test [22:24:49] test 我希望时间不断更新,例如: [22:24:4

我有这个剧本:

T = Time.now

def warn(input)
  puts "[#{T.hour}:#{T.min}:#{T.sec}] #{input}"
end
如果我通过一个循环来运行它:

5.times do
  warn("test")
end
它将输出以下内容:

[22:24:49] test
[22:24:49] test
[22:24:49] test
[22:24:49] test
[22:24:49] test
我希望时间不断更新,例如:

[22:24:49] test
[22:24:50] test
[22:24:51] test
[22:24:52] test
[22:24:53] test

我如何做这样的事情?

每次生成时间

def warn(input)
  t = Time.now
  puts "[#{t.hour}:#{t.min}:#{t.sec}] #{input}"
end

通过每次生成时间

def warn(input)
  t = Time.now
  puts "[#{t.hour}:#{t.min}:#{t.sec}] #{input}"
end


.

这是可行的,但现在当时间小于10时,它只显示一个数字,而不是01、02、03等。。示例:
[22:24:59]测试
<代码>[22:24:0]测试<代码>[22:24:1]测试<代码>[22:24:2]测试<代码>[22:24:3]测试有什么办法吗?@13aal如果你想问一个不同的问题,可以问一个新问题。使用sawa对
warn
的重新定义,写
5.times{warn(“测试”);sleep 1}
。sawa,你还没有回答这个问题,这在最后一句中说明了。这是可行的,但现在当时间小于10时,它只显示一个数字,而不是01、02、03等。。示例:
[22:24:59]测试
<代码>[22:24:0]测试<代码>[22:24:1]测试<代码>[22:24:2]测试<代码>[22:24:3]测试有什么办法吗?@13aal如果你想问一个不同的问题,可以问一个新问题。使用sawa对
warn
的重新定义,写
5.times{warn(“测试”);sleep 1}
。sawa,你还没有回答最后一句中提到的问题。