본문 바로가기

lua

루아 table key

루아 table의 인덱스는 꼭 정수가 아니라도 된다.

C언어에서의 배열의 인덱스는 반드시 0이상의 자연수여야 하며, 문자들을 인덱스에 쓸려면 문자를 전역변수로 숫자로 치환하게 하거나, enum함수를 쓰는 것이다.

반면 루아의 table는 그대로 문자를 인덱스로 취하며,

더 강력한 점은 인덱스가 문자 뿐만 아니라 변수, 다른 table 심지어 함수까지도 그대로 인덱스로 취한다.

이때 여기서 인덱스라는 말보다 table key라는 용어를 쓴다.   

 

 

ex)

t1 = { ["장곰부대"] = 103}

=> t1[장곰부대] == 103

 

t2 = { "dcbk201" = "janggom"}

=> t2.dcbk201 == "janggom"

키가 영문자일경우는 [ ] 를 사용하지 않아도 된다.

배열식 표기대신 C언어의 객체 연산자 "."를 사용할수 도 있다.

 

T={1,2,3}

t3 = { [{1,2,3}]="yadda" }  

t3[T] == "yadda"

 

t4 = { [function(x) print(x) end] = "foo" }

이거에 대한 추가적인 설명..

 

 

'lua' 카테고리의 다른 글

루아 테이블(table)  (0) 2012.11.16
lua 전역변수와 지역변수  (0) 2012.11.11
루아 주석  (0) 2012.11.08
lua 루프  (0) 2012.11.07
루아 조건문  (0) 2012.11.05