지역 변수를 사용하는 이유는?
Coddy Lua 여정의 기초 섹션에 포함된 레슨. 90개 중 85번째.
이름 충돌 방지: 지역 변수의 가장 중요한 이점은 같은 이름을 가진 다른 변수를 실수로 덮어쓰는 것을 방지한다는 점입니다. 프로그램 전체에서 전역 변수를 사용하면 변수 이름을 실수로 재사용하여 변경하려고 하지 않았던 값을 바꾸기 쉽습니다.
score = 100 -- 플레이어의 점수
function countEnemies()
score = 0 -- 이 함수에서만 사용할 카운터로 의도됨
for i = 1, 3 do
score = score + 1
end
return score
end
countEnemies()
print(score) -- 3: 플레이어의 점수가 덮어써졌습니다!이 함수는 자체 카운터를 사용하려고 했지만, score가 전역 변수이기 때문에 대신 플레이어의 점수를 변경했습니다. local을 추가하면 함수 내부에만 존재하는 별도의 변수가 함수에 생깁니다.
function countEnemies()
local score = 0 -- 이 함수 안에서만 사용되는 새 변수
for i = 1, 3 do
score = score + 1
end
return score
end
countEnemies()
print(score) -- 100: 전역 변수 score는 변경되지 않음지역 변수를 사용하면 각 함수와 블록에 별도의 변수가 있으므로, 한 곳의 코드가 다른 곳에서 사용하는 값을 실수로 변경하지 않습니다.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 Lua 컴파일러