1 개요[ | ]
- non-local variable
- 비-지역 변수, 논-로컬 변수, 넌-로컬 변수
- 이러한 경우에, 로컬도 아니고 글로벌도 아닌 변수가 있을 수 있음
2 예시 1: 네스티드 함수[ | ]
Python 3
python3
Copy
def outer():
x = 1
def inner():
nonlocal x
x += 1
print(x)
return inner
JavaScript
JavaScript
Copy
function outer() {
var x = 1;
function inner() {
x += 1;
console.log(x);
}
return inner;
}
3 예시 2: 익명 함수[ | ]
하스켈
haskell
Copy
outer = let c = 1 in map (\x -> x + c) [1, 2, 3, 4, 5]