본문 바로가기

3.구현/Lua

3. Lua의 각종 연산자들

Lua에서는 여러 종류의 연사자가 있다. 산술 연산, 비교 연산, 논리 연산으로 구분할 수 있다. 산술 연산이야 계산과 관련된 연산이고, 비교 연산은 어느 것이 더 큰고 작은지, 혹은 같은지 다른지를 참과 거짓으로 나타낸 연산이다.

작성자: Ospace (ospace114@empal.com) http://ospace.tistory.com

3. Lua의 각종 연산자들

논리 연산은 or와 and 같이 참과 거짓 값으로만 연산을 하여 참과 거짓으로 리턴을 한다. 그러니 논리 연산은 단순 참과 거짓 말고도 함수, 변수 등과 같이 사용할 수 있다.

먼저 산술 연산을 살펴보자.

<ex_06.lua>

a = 10 + 2  -- 덧셉
b = 10 * 3  -- 곱셈
c = 30 - 0.5  -- 뺄셈
d = 22.2 / 3  -- 나눗셈
e = 10 ^ 2    -- 승수
f = -e          -- 역수

print(a)
print(b)
print(c)
print(d)
print(e)
print(f)

<결과>

12  
30  
29.5  
7.4  
100  
-100  

결과와 코드를 살펴보면 쉽게 이해될 것이다.

다음으로 비교 연산을 살펴보겠다.

<ex_07lua>

a = 10 == 2   -- 같은가?
b = 10 ~= 2  -- 다른가? ~기호가 C언어의 !과 비슷
c = 10 > 2    -- 보다 큰가?
d = 10 < 2    -- 보다 작은가?
e = 10 >= 10 -- 크거나 같은가?
f = 10 <= 2   -- 작거나 같은가?

print(a)
print(b)
print(c)
print(d)
print(e)
print(f)

<결과>

false  
true  
true  
false  
true  
false  

마지막으로 논리 연산을 살펴보자.
true와 false는 이진 연산의 기본적인 값으로 참과 거짓에 해당. 유념해서 볼것은 or와 and 연산이다.
인자1 or 인자2 : 인자 1이 참이면 인자1 값을 리턴하고 거짓이면 인자 2의 값을 리턴한다.
인자1 and 인자2: 인자 1ㅣ이 거짓이나 nil이면 인자 1값을 리턴하고 참이면 인자 2의 값을 리턴한다.

<ex_08.lua>

a = true   -- true 값
b = false  -- false 값
c = a and b -- and 연산
d = a or c   -- or 연산
e = not a    -- not 연산, 부정
f = a and true -- a가 참이면 두번째 인자가 리턴되기에 true
g = 10 and 20 -- 10이 참이기에 두번째 인자 값을 리턴되어 20이 됨

print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
print(g)

<결과>

true  
false  
false  
true  
false  
true  
20  

다른 언어를 조금만 해봤다면 어렵지 않게 이해 될 내용이다.
그리고 기본적인 산술연산과 비교연산, 그리고 논리연산자를 살펴보았다.
다음으로 함수에 대해 보자.

반응형

'3.구현 > Lua' 카테고리의 다른 글

Lua 5.x와 Lua 4.0 호환성  (0) 2008.01.21
4. Lua의 조건문 반복문  (0) 2008.01.21
2. Lua 함수에 대해서  (0) 2007.07.20
루아의 BNF  (0) 2007.07.19
1. 루아 스크립트 기초  (0) 2007.07.19