지역변수와 전역변수의 의미는 다른 기존의 언어와 동일
기본적으로 모든 변수는 전역변수이지만, 필요에 따라 지역변수를 설정해야 하는 경우가 있는데, 이때 지역변수는 local 이라는 예약어를 사용하여 지정한다.
한편 local 을 붙이지 않아도 자동적으로 지역변수가 되는 경우가 있는데,
1) for i=1, 10 do.... end 의 i는 for문 안에서만 유효한 값이다.
2) function MyFunction(param) 에서 param 에 들어가는 값 역시 자동으로 지역변수가 되며, 함수 MyFunction 이 끝나면 자동으로 사라진다.
기본적으로 모든 변수는 전역변수이지만, 필요에 따라 지역변수를 설정해야 하는 경우가 있는데, 이때 지역변수는 local 이라는 예약어를 사용하여 지정한다.
function MyFunction()
local myX = 7 -- 이 변수는 함수 실행이 끝나면 사라진다.
if myX < 10 then
local myY = "Hello World" -- 이 변수는 if문이 끝나면 사라진다.
print(myY) -- 출력
end
print(myY) -- 위의 if문이 끝났으므로 nil 이 출력
end
한편 local 을 붙이지 않아도 자동적으로 지역변수가 되는 경우가 있는데,
1) for i=1, 10 do.... end 의 i는 for문 안에서만 유효한 값이다.
2) function MyFunction(param) 에서 param 에 들어가는 값 역시 자동으로 지역변수가 되며, 함수 MyFunction 이 끝나면 자동으로 사라진다.