2014-08-27 2 views
7

표준 라켓의 마지막 폼에 도달하기 전에 함수에서 어떻게 반환합니까? 다른 들여 쓰기 수준을 피하고 중첩을 만드는 것이 유용 할 수 있습니다.라켓의 함수에서 조기에 반환

Common Lisp에는 return-from의 특수 형식 인 return이 있습니다. Racket에있는 어떤 제품이라도 적어도 반환 만하면됩니까?

답변

8

let/ec을 사용하여 이스케이프 연속을 만듭니다.

예 :/EC 전체 지속을 만들어 전화/CC를 사용하는 것보다 저렴하게 사용

(let/ec return 
    (for ([x 10000]) 
    (when (= x 100) 
     (return x)))) 

.