다음 루비 튜토리얼 https://rubymonk.com/learning/books/4-ruby-primer-ascent/chapters/50-debugging/lessons/124-benchmarking_ruby_code을하고 있습니다. 하는 블록에 소요를 실행하고, 그것이 걸린 시간을 반환하는 방법을 만들벤치마킹 루비 코드
사용 루비의 슈퍼 멋진 블록 : 운동 중 하나는 저를 묻는다.
운동은 다음과 같습니다
:
def benchmark
# your code here!
end
time_taken = benchmark do
sleep 0.1
end
puts "Time taken #{time_taken}"
이 운동은 아래 힌트 (힌트가 필요하십니까?)가
와 나는 그렇게했다 :
def benchmark(time)
begin_time = Time.now
end_time = Time.now
time.benchmark {|time| yield time}
end
time_taken = benchmark do
sleep 0.1
end
puts "Time taken #{time_taken}
그러나 받았던다.
관심 대상 : 'do'다음에 요소를 나타내지 않고 지역 변수 - 'time_taken'이 왜 제안됩니까? 아니면 필요하지 않은가? 누구든지 코드를 작성하여 긍정적 인 결과를 얻을 수있는 방법을 알려줄 수 있습니까?