테이블은 루아에서 자료를 관리하는데 효과적인 강력한 연관배열이다.


배열의 목적 뿐만 아니라 C언어의 구조체와 같은 역할도 할 수 있다.


테이블 선언은 아래처럼 할 수 있다.


t = {}


요소 접근은 아래처럼 가능하다


t[0] = 5

t[1] = "Hello World"

t[2] = nil


혹은 아래처럼


t.name = "BooRyung"

fuction Output()

print("Output")

end

t.func = Output

t.func() -- 함수 호출

t.1 = 5 -- 에러!


루아 역시 함수를 객체로 관리하므로 위와 같은것이 가능하다

테이블 안에 테이블을 넣을 수도 있다.


t = {}

t[1] = {}

t[1].name = "Hello World"


이제 테이블과 관련된 함수들을 알아보자


table.getn(myTable)


테이블의 요소의 갯수를 반환하는 함수이다.


table.sort(myTable, func)


테이블을 오름차순으로 정렬한다.

두번째 인자는 생략 가능하며, 두번째 인자로 크기비교를 해 부울 타입을 반환하는 함수를 준다.


table.insert(myTable, index, value)


myTable 의 index 에 value 를 넣는다.

index 는 생략 가능하다.


table.remove(myTable, index)


myTable의 index 값을 제거한다.

index 가 생략되면 테이블의 끝에 추가된다.


pairs(myTable)


for 문에서 테이블의 모든 요소에 접근할 때 사용된다.

in 키워드를 이용해야 한다. 아래는 사용의 예


t = {}

t.a = "A"

t.b = "B"

for index = 1, value in pairs(t) do

print(index, value)

end

[출처] Lua 5 - Table|작성자 부령

by 메렁키키 2015. 9. 6. 10:57