Truthy와 Falsy 값
Coddy Lua 여정의 기초 섹션에 포함된 레슨. 90개 중 24번째.
and, or, not와 같은 논리 연산자를 사용할 때, Lua는 논리적 맥락에서 무엇을 "참" 또는 "거짓"으로 간주할지 판단해야 합니다. 이 개념을 참으로 평가되는 값과 거짓으로 평가되는 값이라고 하며, Lua는 이를 다른 많은 프로그래밍 언어와 다르게 처리합니다.
Lua에서 거짓으로 평가되는 값(논리 연산에서 false로 취급됨)은 두 가지뿐입니다.
print(false and "skipped") -- false를 출력함: false는 거짓으로 취급됨
print(nil and "skipped") -- nil을 출력함: nil은 거짓으로 취급됨and와 or는 true나 false만 반환하는 것이 아니라 피연산자 중 하나를 반환한다는 점에 유의하세요. a and b는 a가 거짓으로 평가되면 a를 반환하고, 그렇지 않으면 b를 반환합니다. a or b는 a가 참으로 평가되면 a를 반환하고, 그렇지 않으면 b를 반환합니다. 따라서 위의 두 줄은 false와 nil을 출력하고, 아래의 각 줄은 해당 텍스트를 출력합니다.
Lua에서는 그 외의 모든 값이 참으로 간주됩니다(논리 연산에서 true로 취급됩니다). 여기에는 다른 언어를 사용해 본 사람이라면 놀랄 수도 있는 값이 포함됩니다.
print(0 and "This will print") -- Lua에서는 0도 참으로 취급됩니다!
print("" and "This will print") -- 빈 문자열도 참으로 취급됩니다!
print({} and "This will print") -- 빈 테이블도 참으로 취급됩니다!직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 Lua 컴파일러