나는에 대한-각 체계에 새로운 목록을 생성하지 않는 것을 이해하지만 내 출력에, 나는 예상 : 난 그냥 "완료"얻고각각에 대한-하지 않는 출력 값은
4
9
16
done.
.
여기 무슨 일 이니?
(define (for-each proc list)
(cond ((null? list) "done")
(else
(proc (car list))
(for-each proc (cdr list)))))
(define square (lambda(x)(* x x)))
(square 5)
(for-each square (list 2 3 4))
각 언어의 표현식 결과가 for (each) 루프에 자동으로 출력되지 않습니다. 예. 'foreach $ i (1..3) {$ i + $ i}'perl. 각 블록은'$ i'의 이중으로 평가되지만 저장되거나 인쇄되지는 않습니다. 나는 다른 알골 방언에서 그것을 시도하지 않았지만 같은 결과를 얻게 될 것입니다. – Sylwester