私は現在、Test First プログラミングを行っており、http://testfirst.org/live/learn_ruby/performance_monitor にある 06_performance モニターの問題で立ち往生しています。stackoverflow で同様のスレッドを見つけましたが、まだ問題を理解していません。複数のブロックの平均実行時間を見つけるための最後の 2 つのテストに失敗しています。これまでの私のコードは次のとおりです。
def measure(i=1)
if i>1
i.times do
yield
end
else
x = Time.now
yield
elapsed_time = Time.now - x
end
end
テストが何をしようとしているのか、私は非常に混乱しています。これまでのところ、これは私がしなければならないと思うことです:
タスクは、特定のブロックの実行にかかる時間を見つけることだと思います。ただし、最初の数回のテストでこのコードが機能する理由は正確にはわかりません。また、yield ステートメントが何を返しているのかを正確に知ることにも問題があります。解決策を理解できるように、誰かがこの問題を解決するプロセスを順を追って説明していただければ幸いです。