2012-03-23 1 views
2

에서 각 반복에서 여러 값을 반환합니다 :지도와 같은 기능이 변환의 현명한 방법이 있나요 루프

이런 일에
(for ([cos-t (stream-map cos t-range)] 
     [sin-t (stream-map sin t-range)]) 
    ...) 

:

(for ([(cos-t sin-t) (... t-range)] 
    ...) 

정말지도 아니다 함수, 당신은 그렇게 목록을 만들 수 없기 때문에. 위의 일을 더 쉽고 쉽게 수행 할 방법을 찾고 있습니다.

답변

4

원하는 것은 이미 for 양식을 사용하여 사용할 수 있습니다. in-parallel 함수를 사용하면 다음과 같이 두 시퀀스를 결합 할 수 있습니다.

(for ([(cos-t sin-t) (in-parallel (stream-map cos t-range) 
            (stream-map sin t-range))]) 
    (displayln (+ cos-t sin-t))) 
+3

이 답변은 맞지만 링크는 현지 설명서를 가리 킵니다.

+1

좋아, 수정 된 링크. – dyoo

+0

어리석은 나를. @MartinNeal과 Danny에게 감사합니다. –

관련 문제