레슨 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 기반 언어에 익숙하다면 특히 주의하세요.