1
@dfa = Time.new
@type_me = gets
@i = 0
def type
  pause_duration = 2
  start_time = Time.new
  until Time.new == start_time + pause_duration
  puts "#{start_time + pause_duration} || #{Time.new}"
  end
  print @type_me[@i]
  @i += 1
  type
end

type

为什么 Time.new 不等于 start_time + pause_duration?

4

2 回答 2

1

您只是不太可能在循环中以相同的微秒精度获得它们。使用 >= 代替。

于 2012-10-13T05:44:31.183 回答
1

并不是说他们永远不平等。他们变得平等是非常罕见的。循环每次迭代都需要时间。您只是将时间与该增量进行比较,这在任何时候都不一定恰好等于 2.0 秒。

于 2012-10-13T05:45:54.803 回答