Lua Docs

Booleans(부울, 부울린)

원문 : developer.roblox.com/en-us/articles/Boolean

Boolean(부울, 부울린)true(참) 또는 false(거짓)의 값을 가지는 아주 단순한 자료형입니다. Boolean은 다음과 같은 조건 상태들(Conditional Statements)에서 가장 일반적으로 사용됩니다.

1
2
3
4
5
6
7
local testBoolean = true
 
if testBoolean == true then
    -- 'testBoolean'의 값이 true이기 때문에, 이 실행문은 실행됩니다.
else
    -- 만약 'testBoolean'의 값이 false였다면, 이 실행문이 실행됩니다.
end

Lua 안에서의 작동

루아 안에서는 falsenil아니라면 모두 true로 간주됩니다. 아래 코드는 루아가 참으로 해석한 값만 출력하는 코드입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
-- 아래 모든 값은 true입니다.
if true then
    print("true")
end
if 1 then
    print("1")
end
if "text" then
    print('"text"')
end
if {123then
    print("{1, 2, 3}")
end
if workspace then
    print("workspace")
end
if "" then
    print('""')
end
 
-- 하지만 이 아래 값들은 아닙니다.
if false then
    print("false")
end
if nil then
    print("nil")
end

 

연산(Operation)

위에 있는 작동 규칙에 기반해서, Lua 연산자에서 조건 상태는 다음과 같이 작동합니다.

and

and연산자는 첫 번째 인자가 false 또는 nil일 경우 그것을 반환합니다. 아니면 두 번째 인자를 반환합니다.

사용법 : (첫 번째 인자) and (두 번째 인자)

1
2
3
4
5
6
7
print(4 and 5)
print(nil and 12)
print(false and 12)
print(true and true)
print(true and false)
print(false and true)
print(false and false)

or

or연산자는 두 값을 모두 살펴봅니다. 만약 첫 번째 인자가 false 와 nil 둘 다 아닐 경우, 첫 번째 인자를 반환합니다. 반약 첫 번째 인자가 false 또는 nil일 경우, 두 번째 인자를 반환합니다. 예를 들어 다음과 같습니다.

1
2
local y = x or 1
print(y)

위 코드는 1을 출력합니다. 왜냐하면 x가 존재하지 않아 y는 nil이 되어, or연산자가 두 번째 인자, 즉, 1을 출력합니다.

1
2
3
local x = false
local y = x or 1
print(y)

그리고 위 코드 또한 1을 반환합니다. x가 존재하지만 값이 false이기 때문입니다. 만약 x가 true였다면 or연산자는 x를 선택했을 것입니다.

 

not

not연산자는 인자가 false 또는 nil일 경우 true를 반환합니다. 아닐 경우 false를 반환합니다.

1
2
3
4
5
print(not true)
print(not false)
print(not nil)
print(not "text")
print(not 0)

 

'Lua Docs' 카테고리의 다른 글

Table(테이블)  (0) 2021.03.29
Strings(문자열)  (0) 2021.03.28
Nil Values(닐)  (0) 2021.03.28
Number(수)  (0) 2021.03.28