단락 평가
Coddy Lua 여정의 기초 섹션에 포함된 레슨. 90개 중 23번째.
Lua가 and 및 or 연산자를 평가할 때 단락 평가라는 규칙을 사용합니다. 이는 Lua가 최종 결과를 알게 되는 즉시 평가를 중단하여 표현식의 일부를 완전히 건너뛸 수도 있다는 뜻입니다.
and 연산자의 경우, 첫 번째 조건이 false이면 Lua는 두 번째 조건을 확인하지 않아도 전체 표현식이 false라는 것을 즉시 알 수 있습니다.
playerAlive = false
hasWeapon = true
canFight = playerAlive and hasWeapon
-- Lua는 playerAlive (false)만 확인하고 hasWeapon은 평가하지 않습니다마찬가지로 or 연산자의 경우 첫 번째 조건이 true이면 Lua는 결과가 true가 될 것을 알고 두 번째 조건을 건너뜁니다.
hasKey = true
hasPassword = false
canEnter = hasKey or hasPassword
-- Lua는 hasKey (true)만 확인하고 hasPassword는 평가하지 않습니다단락 평가는 작업을 줄여 줄 뿐만 아니라 어떤 코드가 실행될지도 결정합니다. 여기서는 lives가 nil일 때 Lua가 두 번째 검사를 건너뛰기 때문에 두 번째 검사가 안전합니다.
lives = nil -- 아직 값이 없음
canPlay = lives ~= nil and lives > 0
print(canPlay) -- false단락 평가가 없다면 lives > 0에서 프로그램이 오류와 함께 중단됩니다. nil은 숫자와 비교할 수 없기 때문입니다. 이 방법은 자주 사용하게 됩니다. 값을 사용하기 전에 먼저 그 값이 존재하는지 확인하세요.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 Lua 컴파일러