2011-09-30 4 views
4

지금 Ruby 개념을 통해 작업하고 있습니다. VB 배경에서 볼 때 아직 이해하지 못하는 몇 가지 개념이 있습니다. 수확량이 그 중 하나입니다. 나는 그것이 실용적인 의미에서 어떻게 작동 하는지를 이해하지만, 수확량의 중요성을 보지 못하거나, 언제 그것을 어떻게 최대한으로 사용할 것인가.루비 개념 - 산출량

답변

1

그것은 어떻게 수율 작품의 이해를하는 것이 좋다하지만 난 거의 사용하지 않고 같은 다른 사람들도 마찬가지라고 생각했습니다. 이 답변에 대한 의견은 달리 표시 할 수 있습니다.

Ruby의 yield 문은 메서드에 지정된 블록으로 컨트롤을 넘깁니다. 블록이 끝나면 제어가 메소드에 리턴되고 항복 직후에 명령문을 계속 실행합니다. 여기

def fib(upto) 
    curr, succ = 1, 1 
    while curr <= upto 
     puts "before" 
     yield curr 
     puts "after" 
     curr, succ = succ, curr+succ 
    end 
end 

그런 다음

fib(8) {|res| puts res} 

처럼 뭔가 방법을 호출하고 출력

before 
1 
after 
before 
1 
after 
before 
2 
after 
before 
3 
after 
before 
5 
after 
before 
8 
after 
+2

"실제로는 거의 사용하지 않을 것입니다."- 당신이하는 일에 크게 의존합니다. 우리는 우리의 생산 애플 리케이션에서 우리가 'yield'를 사용하는 곳을 꽤 많이 가지고 있습니다. –

+0

수확량을 자주 사용합니다. –

+0

yield를 꽤 자주 사용하는 코드를 사용하지만 나 자신이 직접 yield를 쓰는 경우는 거의 없습니다. 내가 너무 주관적이었던 것 같아. –