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 に答える