반응형

■ 조건문 

1. if 조건식 then ~ end

조건식에 부합할 경우 then 과 end 사이에 작업 실행

local a = 1
if a == 1 then
    print("a 는 1 이다.")
end
결과 :
a 는 1 이다.

2. if 조건식 then ~ else ~ end

조건식에 부합할 경우 then 과 else 사이에 작업 실행

부합하지 않을 경우 else 와 end 사이에 작업 진행

local a = 1
if a == 1 then
    print("a 는 1 이다.")
else 
    print("a 는 1 이 아니다.")
end
결과 :
a 는 1 이다.

3. if 조건식 then ~ elseif 조건식 ~ then ~ else ~ end

* 작업 순서 

1) if 조건식 : 참일 경우 then ~ elseif 작업 실행

2) if 조건식 : 거짓일 경우 elseif 조건식 확인

3) elseif 조건식 : 참일 경우 then ~ else 작업 실행

4) elseif 조건식 : 거짓일 경우 else ~ end 작업 실행

local a = 1
if a > 1 then
    print("a 는 1 보다 크다.")
elseif a < 1 then
    print("a 는 1 보다 작다.")
else
    print("a 는 1 이다.")
end
결과 :
a 는 1 이다.
반응형

'Programming Language > Lua' 카테고리의 다른 글

[Lua] 반복문(Loop) 정리  (0) 2021.12.02
[Lua] 기본 자료형 정리  (0) 2021.12.02
반응형

■ 반복문 정리

1. for ~ do ~ end 

for 와 do 사이에는 초기값, 목표값, 증감값을 설정하며, 증감값을 설정하지 않을 경우 1씩 증가한다.

for i = 1,3,1 
do
    print(i)
end

for i = 1,3
do
    print(i)
end
결과 :
1
2
3
1
2
3

2. while (조건식) do ~ end

조건식에 부합할 경우 do 와 end 사이에 작업을 반복적으로 실행한다.

local a = 1

while (a < 3)
do
    print(a)
    a = a + 1
end
결과 :
1
2

3. repeat ~ until (조건식)

while 문에 경우 반복작업을 하기 전에 조건식을 판단하지만, repeat 문에 경우 반복작업을 진행하고 조건식을 판단한다.

local a = 1
repeat
    print(a)
    a = a + 1
until (a > 3)
결과 :
1
2
3

 

반응형

'Programming Language > Lua' 카테고리의 다른 글

[Lua] 조건문 정리  (1) 2021.12.02
[Lua] 기본 자료형 정리  (0) 2021.12.02
반응형

■ 기본 자료형

1. number

다른 글로벌 언어들은 정수에 경우 int, 소수에 경우 float 으로 구분하여 자료형을 갖지만

Lua에 경우 number로 모든 숫자를 포함한다.

local num = 10
print(type(num))

num = 3.14
print(type(num))
결과 : 
number
number

2. string

따옴표('') 또는 쌍따옴표("") 로 묶여 있는 문자열을 포함하며, 이중 대괄호 ([[ ]]) 로 묶으면 개행 또는 텝이 들어가 있는 문자열도 포함할 수 있다.

local str = "Hi.\njust do it."
print(str)

str = 'Hi.\njust do it.'
print(str)

str = [[
Hi.
just do it.]]
print(str)
결과 :
Hi.
just do it.
Hi.
just do it.
Hi.
just do it.

3. boolean

true 또는 false 의 값을 포함한다.

local bool = true
print("Type: "..type(bool)..", Value: ", bool)

bool = false
print("Type: "..type(bool)..", Value: ", bool)

bool = 3 > 1
print("Type: "..type(bool)..", Value: ", bool)
결과 : 
Type: boolean, Value: true
Type: boolean, Value: false
Type: boolean, Value: true

4. table

table은 중괄호({})로 묶어서 나타내며, 배열(Array), 맵(Map), 클래스(Class)에 역할을 수행할 수 있다.

 

* 배열일 경우 인덱스는 1 부터 해당 위치에 데이터를 핸들링 할 수 있으며, 맵과 같이 사용될 경우 맵은 인덱스 계산에서 제외된다.

local table = {"1", "2", "3", name ="hyunmin", 5}

-- 배열 : 데이터 취득시 맵 형식은 인덱스 계산에서 제외된다.
print(table[1]..table[2]..table[3]..table[4])
결과 : 
1235

 

* 맵일 경우 Key와 Value 형식을 갖으며, table은 다양한 타입을 함께 사용할 수 있다.

local table = {"1", "2", "3", name ="hyunmin", 5}

-- 맵 : .key  또는 ["key"] 를 통해 value값을 핸들링 할 수 있다.
print(table.name.."\t"..table["name"])
결과 : 
hyunmin hyunmin

 

* 클래스일 경우 해당 클래스에 함수를 생성하고 사용할 수 있다.

local table = {}

function table.add(a,b)
    print(a + b)
end

table.add(30,20)
결과 : 
50
반응형

'Programming Language > Lua' 카테고리의 다른 글

[Lua] 조건문 정리  (1) 2021.12.02
[Lua] 반복문(Loop) 정리  (0) 2021.12.02

+ Recent posts