ruby_proc_lambda 차이
1310 단어 lambda
책을 보는 가장 큰 장점은 지식을 아는 것이다. 장래에는 많은 시간을 절약할 수 있다. 예를 들어 방법을 알고 가능한 버그가 존재하는 곳을 아는 것이다.
실천의 장점은 이 지식들을 이해하고 깊이 이해하는 것으로 바꾸는 것이다.
ruby_proc_lambda 차이점:
proc: 프로크의 코드가 현재 방법에 있는 것처럼 이 코드에return이 있으면 전체 방법이 종료됩니다
lambda: 현재 방법 이외의 방법처럼return은 결과를 현재 문장에 되돌려주고 다음 문장은 계속 실행합니다
본질적으로 이해하면python의 yield가 실행하는 세부 사항과 루비 자체의 리버를 참고할 수 있다
현재 문장이 lambda에 닿으면 실행 바늘을 lambda의 Block에 가리키며 현재 실행 context를 양보하고 실행이 끝난 후에 돌아옵니다.
그러나proc의 Block은 현재context에서 실행되며 실행context의 양도가 존재하지 않습니다.
from http://samdanielson.com/2007/3/19/proc-new-vs-lambda-in-ruby 아주 좋은 예:
def foo
f = Proc.new { return "return from foo from inside proc" }
f.call # control leaves foo here
return "return from foo"
end
def bar
f = lambda { return "return from lambda" }
f.call # control does not leave bar here
return "return from bar"
end
puts foo # prints "return from foo from inside proc"
puts bar # prints "return from bar"
(
(
(
||
)
)
)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Lambda Cron 예제(Terraform)이 기사에서는 EventBridge를 사용하여 일정에 따라 람다를 트리거하는 방법을 살펴보겠습니다. Terraform을 사용하여 이를 구현할 것입니다. 이 예제에서는 간단한 Golang Hello World 예제를 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.