4
스키마 R6RS에 return
함수를 구현하려고합니다. (do-some-job-after)
및 some-value
의 람다 함수의 최종 값을 실행하지 않는,리턴 함수 구현
(lambda()
(do-some-job-before)
(return some-value)
(do-some-job-after))
이 (do-some-job-before)
을 실행 : 내가 뭔가 있도록합니다.
계속 사용해야 할 것 같습니다. 나는 시도했다 :
(define return #f)
(call/cc (lambda (k)
(set! return k)))
그러나 그것은 작동하지 않는다; 예 :
(+ 2 (return 3)) ; -> 3 (and not 5 as I expected)
어떻게하면됩니까?
답변 해 주셔서 감사합니다.하지만 필요한 것은 아닙니다. 클린업 파트가 실행되는 것을 원하지 않습니다. – Aslan986
@ Aslan986 : 그냥 동적 인 바람 비트를 건너 뜁니다. 죄송합니다. 질문을 잘못 읽었습니다. 대답을 수정 중입니다. – leppie
@ Aslan986 : 당신이 원한다면 당신의 예제가 실제로 이해가되지 않습니다. – leppie