SICP 연습문제 2.21 친절한 풀이
문제
square-list 프로시저는 다음과 같이 수 리스트를 인자로 받아서 모든 원소를 제곱한 다음 그 결과로 묶어서 리스트를 내놓는다.
(sqaure-list (list 1 2 3 4)) |
square-list 프로시저를 정의하는 방법은 다음 두 가지다. 빈 곳을 채워 프로시저를 완성하라.
(define (square-list items) |
문제로 부터 얻은 것
map 프로시저의 구현 방법과 활용법을 알 수 있었습니다.
map 프로시저가 다른 함수를 인자로 받는 차수 높은 프로시저라는 것을 이해했습니다.
map 프로시저가 사용자로부터 어떻게 리스트가 배열되는지는 숨겨주는 요약의 경계 역할도 하는 것을 이해했습니다.
문제풀이
문제의 바로 앞 절에서 나온 map 프로시저는 다음과 같습니다.
(define (map proc items) |
프로시저의 동작 원리를 이해했다면, 물음표를 채우는 것은 어렵지 않습니다.
(define (square-list items) |
문제에서 나온 아래의 테스트 코드를 두 프로시저로 실행해 보겠습니다.
(square-list (list 1 2 3 4)) |
읽어주셔서 감사합니다.