원문 : 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 안에서의 작동
루아 안에서는 false나 nil이 아니라면 모두 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 {1, 2, 3} then
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 |