반응형
학부공부/인공지능2018. 10. 13. 01:46LISP의 Lambda 함수 ( Lambda Functions )

Lambda 함수 함수가 defun으로 정의될 때 , 그 함수명과 주소는 프로그램 안에서 다음의 호출을 대비하여 상징 테이블 (symboric table)에 저장된다. 그러나 때로는 프로그램 안에서 어떤 함수가 오직 한번만 쓰여지는 경우가 많다. 이것은 첫번째 인수로 부함수를 취하는 mapcar에서 자주 사용되어 지는 것을 볼 수 있는데 , LISP는 이것을 위하여 이름없는 혹은 무기명 함수의 사용을 가능하게 하는 기능을 제공하고 있다. 그러한 함수들이 lambda 함수인데 , 그 함수의 일반 형식은 다음과 같다. (lambda (arguments) ) 예를 들어서 보자 . 세제곱(3승) 값을 계싼하기 위해 lambda 함수를 이용하는 예를 들어 보자. 이것은 mapcar 함수와 숫자들의 리스트에 lam..

학부공부/인공지능2018. 10. 12. 01:04LISP의 대응함수 ( Mapping Functions)

대응 함수 ( 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) 만약 두 리스트의 대응되는 요소들끼리의 더한 합을 구하고자 한다면 ..

반응형
image