Learning
레슨 2 / 3·20분

테이블과 배열

Lua의 테이블

Lua에서 테이블(table)은 유일한 복합 데이터 구조입니다. 배열, 딕셔너리, 객체 모두 테이블로 표현합니다. 배열 인덱스는 1부터 시작합니다.

lua
-- 배열처럼 사용
local fruits = {"사과", "바나나", "포도"}
print(fruits[1])  -- "사과" (1부터 시작!)
print(#fruits)    -- 3 (길이)

-- 요소 추가/삭제
table.insert(fruits, "딸기")        -- 끝에 추가
table.insert(fruits, 2, "오렌지")   -- 2번 위치에 삽입
table.remove(fruits, 3)             -- 3번 위치 삭제

-- ipairs: 배열 순회 (1부터 연속된 정수 키)
for i, fruit in ipairs(fruits) do
    print(i, fruit)
end

딕셔너리와 pairs

lua
-- 딕셔너리처럼 사용
local student = {
    name = "김철수",
    age = 20,
    grade = "A"
}

print(student.name)      -- "김철수"
print(student["age"])    -- 20

-- 새 키 추가
student.email = "kim@lua.org"

-- pairs: 모든 키-값 순회 (순서 보장 안 됨)
for key, value in pairs(student) do
    print(key .. ": " .. tostring(value))
end

-- 배열 + 딕셔너리 혼합
local mixed = {
    "첫번째",       -- [1] = "첫번째"
    "두번째",       -- [2] = "두번째"
    name = "혼합",  -- name = "혼합"
}
  • table.insert(t, v) — 테이블 끝에 값 추가
  • table.remove(t, i) — i번 위치 값 제거
  • #t — 배열 부분의 길이
  • ipairs(t) — 배열(정수 키) 순회
  • pairs(t) — 모든 키-값 순회
💡

Lua 배열은 1부터 시작합니다! C/JS/Python 등 0 기반 언어에 익숙하다면 특히 주의하세요.