Menu
CoddyTech

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")     -- 빈 테이블도 참으로 취급됩니다!

직접 해보기

이 레슨에는 코드 챌린지가 없습니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: 온라인 Lua 컴파일러