dynamic
-
Lisp에서 lexical과 dynamic 변수 타입Programmer/Programming 2016. 2. 18. 15:43
Lisp에는 lexical과 dynamic이라는 두가지 변수(variables) 형태가 존재한다. lexical 변수는 소스 코드를 읽는 단계에서 바인딩(binding)이 결정된다. C나 Java 같은 언어에서 말하는 지역(local) 변수를 생각하면 된다. 함수의 매개변수(parameters)나 LET 구문의 변수가 이런 타입니다. 함수의 매개변수 (defun foo (x y) (+ x y)) 함수를 호출하면, 이 함수에 전달하는 인자(arguments)와 연결(binding)하는 매개변수를 생성한다. 이 변수는 함수 내로 범위가 한정된다. LET 구문의 변수 (let ((x 10) (y 20)) (+ x y)) LET 구문 역시 함수 호출과 동일한 효과를 가진다. LAMBDA로 표현하면 함수의 매개변..