학부공부/인공지능

LISP의 대응함수 ( Mapping Functions)

IT grow. 2018. 10. 12. 01:04
반응형

대응 함수 ( Mapping Functions )

 

Mapcar는 어떤 함수를 하나 혹은 여러 개의 리스트에 연속적으로 적용시키기 위해 LISP에서 제공되는 몇 개의 대응함수 중의 하나이다.

Mapcar의 첫번째 인수는 함수이다. 그리고 나머지 인수는 리스트들인데 , 여기에 앞의 함수가 차례로 적용된다. 연속적으로 리스트 내의 요소에 함수를 적용한 결과가 새로운 리스트 값으로 변환되어 되돌려 진다.

 

예제를 통해서 이해해 보자.

(1 2 3 4 5)의 각 요소에 1를 더하는 문제를 가정해 보자 . mapcar와 함수 +1를 가지고 다음과 같이 간단하게 처리 할 수 있다.

(mapcar ‘1+ ‘(1 2 3 4 5)) à ( 2 3 4 5 6)

 

만약 두 리스트의 대응되는 요소들끼리의 더한 합을 구하고자 한다면 , 다음의 예와 같이 두 리스트 (1 2 3 4 5 6)(1 2 3 4)+ 함수를 사용하여 처음 4 요소들의 합을 구하고자 한다면 다음과 같이 표현할 수 있다.

 

(mapcar ‘+ ‘(1 2 3 4 5 6) ‘(1 2 3 4))  à (2 4 6 8)

 

 


반응형