Truthy와 Falsy 값
Coddy Lua 여정의 기초 섹션에 포함된 레슨. 90개 중 24번째.
and, or, not와 같은 논리 연산자를 사용할 때 Lua는 논리적 맥락에서 무엇이 "참" 또는 "거짓"으로 간주되는지 판단해야 합니다. 이 개념을 참으로 간주되는 값과 거짓으로 간주되는 값이라고 하며, Lua는 이를 다른 많은 프로그래밍 언어와 다르게 처리합니다.
Lua에서는 두 값만 거짓으로 간주됩니다(논리 연산에서 false로 처리됨).
print(false and "This won't print") -- false는 거짓으로 취급된다
print(nil and "This won't print") -- 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 컴파일러