본문 바로가기

Lua

Lua#8 : Array

여러개의 일련의 데이터를 다뤄야 할 때는 Array 라는 것을 사용합니다. 
하나의 변수인데, 복수의 데이터를 포함하고, 인덱스 [1] 로 접근이 가능해요.
선언할 때는 { } 형태로 정의합니다. 

다른 언어들과 좀 다른건 많은 언어들이 첫번째 값을 0으로 하는데, Lua 에서는 첫 번째가 1부터 시작합니다. 
예를들어 1번부터 5번에 가방을 저장하면

bags = {"총", "칼", "돼지고기", "물약","방패"}
bags[3]  <-- 이건 돼지고가 됩니다. 

아래 array를 선언하고 활용하는 예제를 보세요.

aa = {}

print(type(aa))

aa = {"a","b","c","d","e","d","f"}
print("size : "..#aa)

for i=1,#aa do
    print(aa[i])
end

aa = {1,2,3,4,5}
print("size : "..#aa)
for i=1,#aa do
    print(aa[i])
end

#array_name 은 전체 array의 크기를 나타냅니다. 

추가로
간혹 2차원 Array가 필요할 때가 있어요, 이때는 반복문(for 문)을 두개를 돌려서 초기화를 하고 불러사용합니다. 

m_array = {}

for i=1, 10 do
    m_array[i] = {}
    for j=1, 10 do
      m_array[i][j] = i*j
    end
end

for i=1, 10 do
    for j=1, 10 do
        print("["..i.."]["..j.."]"..m_array[i][j])
    end
end

여기서 중요한 것은 값을 할당할 때 
m_array[i] = {} 로 미리 array를 쭉 선언해줘야 동작한다는 것입니다. 

이제 {} 가 나와도, [] 나와도 #이 나와도, 그냥 여러개 값이구나 하고 쫄지 말고 사용하시면 됩니다. 

'Lua' 카테고리의 다른 글

Lua#10 Module  (0) 2020.08.25
Lua#9 Table과 iterator  (0) 2020.08.25
Lua#7 : String  (0) 2020.08.20
Lua#6 : 함수  (0) 2020.08.12
Lua#5 : 조건  (0) 2020.08.11