R은 스킴 언어에서 계승된 개념인 어휘적 스코프를 사용합니다. 즉, 함수 내의 자유 변수 값은 함수가 호출되는 환경이 아니라 함수가 정의된 환경에서 찾아 결정됩니다. 이는 함수의 동작을 더욱 예측 가능하게 만들고 호출 컨텍스트에 독립적으로 만들어주며, 함수형 프로그래밍의 핵심 특징입니다.

(설명을 위한 생성된 이미지입니다)
R은 스킴 언어에서 계승된 개념인 어휘적 스코프를 사용합니다. 즉, 함수 내의 자유 변수 값은 함수가 호출되는 환경이 아니라 함수가 정의된 환경에서 찾아 결정됩니다. 이는 함수의 동작을 더욱 예측 가능하게 만들고 호출 컨텍스트에 독립적으로 만들어주며, 함수형 프로그래밍의 핵심 특징입니다.
어휘적 스코핑(정적 스코핑이라고도 함)은 변수 이름을 찾는 데 사용되는 기본적인 규칙입니다. 프로그래밍 언어R에서 함수가 로컬에 정의되지 않은 변수(‘자유 변수’)에 접근해야 할 경우, 함수는 함수가 생성된 환경에서 해당 변수를 찾습니다. 이 ‘생성 환경’은 함수에 영구적으로 연결됩니다. 이는 일부 이전 언어에서 사용되었던 동적 스코핑과는 대조적입니다. 동적 스코핑에서는 함수 호출 체인(‘호출 환경’)을 따라 변수를 검색합니다.
예를 들어, 변수 `x`를 사용하지만 정의하지 않은 함수 `f()`를 생각해 보세요. `f()`가 전역 환경에서 정의되고 `x`가 10으로 설정되어 있다면, `f()`가 어디에서 호출되든 항상 `x = 10`을 사용합니다. 심지어 자체적으로 지역 변수 `x = 20`을 가진 다른 함수에서 호출되더라도, `f()`는 호출 환경의 `x`를 무시하고 자신이 정의된 환경의 `x`를 사용합니다. 이러한 동작 덕분에 함수의 동작은 오직 함수 자체의 코드와 함수가 정의된 환경에 의해서만 결정되므로 디버깅과 코드 이해가 훨씬 쉬워집니다.
This feature is crucial for functional programming paradigms, enabling powerful constructs like closures, where a function can “remember” the environment in which it was created. This is heavily utilized in advanced R programming and package development, such as in the `lapply` family of functions and in frameworks like Shiny for web applications.
R에서의 어휘적 범위 지정
(날짜를 알 수 없거나 관련이 없는 경우, 예를 들어 "유체역학"의 경우, 주목할 만한 등장 시기를 대략적으로 추정하여 제공합니다.)
고화질 이미지 및 다운로드는 등록된 회원에게만 100% 무료로 제공됩니다.
> 로그인 <