지역 변수

위키백과, 우리 모두의 백과사전.

지역 변수(local variable)는 지역 변수 영역이 주어진 변수이다.

펄의 지역 변수[편집]

은 동적 지역 변수와 사전적(lexically-scoped) 지역 변수를 둘 다 지원한다. local 키워드를 사용하면 동적 지역 변수를 정의할 수 있으며, my를 사용하면 사전적 지역 변수를 정의할 수 있다. 동적 변수 지정은 오늘날 흔히 쓰이는 것이 아니므로 펄 문서는 "local은 대부분의 사람들이 "local"로 생각하는 것이 아니다"라고 경고한다.[1] 그 대신, local 키워드는 일시적인, 동적 값을 전역(package) 변수에 제공하며, 감싸고 있는 블록의 끝에 이를 때까지 지속된다. 그러나 해당 변수는 블록 내에서 호출된 모든 함수들의 측면에서 투명하다.[2] 사전적 지역 변수를 만들기 위해 my 연산자를 대신 사용한다.[3]

동작 방식을 이해하기 위해 다음의 코드를 고려할 수 있다:

$a = 1;
sub f() {
  local $a;
  $a = 2;
  g();
}
sub g() {
  print "$a\n";
}
g();
f();
g();

출력물은 다음과 같다:

1
2
1

같이 보기[편집]

각주[편집]