R6RS Scheme: 변수와 바인딩
R6RS Scheme: 변수와 바인딩
Scheme의 변수와 바인딩(binding) 개념을 설명해요. 식별자가 값을 담는 위치를 나타내는 방법과 바인딩 구문을 다뤄요.
출처: 문서
본문
Scheme는 식별자가 값을 담는 위치(locations)를 나타내는 것을 허용해요. 이 식별자들을 *변수(variables)*라고 불러요. 많은 경우, 특히 위치의 값이 생성된 후에 절대 수정되지 않을 때, 변수가 값을 직접 나타낸다고 생각하는 것이 유용해요.
(let ((x 23)
(y 42))
(+ x y)) ⇒ 65
이 경우 let으로 시작하는 표현식은 바인딩 구문이에요. let 뒤의 괄호 구조는 변수와 나란히 표현식을 나열해요: 변수 x와 23, 변수 y와 42가 나란히 있어요. let 표현식은 x를 23에, y를 42에 바인딩해요. 이 바인딩들은 let 표현식의 *본문(body)*에서만 유효해요,
(+ x
y)
그리고 오직 거기서만 유효해요.