0
나는 run_times가 실행될 때마다이를 이해하고 run_times 값 중 하나를 해제하고 fake_time에 추가합니다. 그리고 나의 측정 방법으로 나는 그것들을 모으고 평균을 얻으려고합니다. 그러나 메서드 내에서 값을 가져올 수 없습니다.변수가 포함 된 블록을 전달할 때 메서드 내에서 변수에 액세스
그것은 다음과 같은 RSpec에 전달해야 :
def measure (n = 1)
if n > 1
n.times { yield }
else
start = Time.now
yield
elapsed_time = Time.now - start
elapsed_time
end
end
가 사전에 감사합니다
it "returns the average time, not the total time, when running multiple times" do
run_times = [8,6,5,7]
fake_time = @eleven_am
Time.stub(:now) { fake_time }
average_time = measure(4) do
fake_time += run_times.pop
end
average_time.should == 6.5
end
다음은 내 코드입니다! 나는 이것에 잠시 붙어 있었고 아무 것도 작동하지 않는 것처럼 보였습니다.
답변 인 경우 더 나은 설명이 필요합니다. –
4를 반환하지만 6.5를 반환해야합니다. 그것은 배열 값의 평균입니다. 나는 접근하거나 돌아올 수없는 것. –