테이블
Ruby언어의 Hash, Python언어의 Dictionary, Java의 Map과 같은 자료형이다.
다만, 루아의 테이블은 복합 자료형이면서도 중요한 역활을 한다. key-value가 아닌 배열이나 객체 프로그래밍을 할 때 필요하기 때문이다.
우선 테이블은 익명성이라는 특징을 가진다.
> cool_table = {} > print(cool_table) table: 0x8268920 |
테이블 그 자체의 출력 값은 테이블 요소 값의 관계로써 별 의미가 없다.
> cool_table["name"] = "짱구"
> print(cool_table)
> print(cool_table["poo"]) |
선언과 호출은 간단하다. 마치 key-value꼴로 쓴다. key에 들어갈 자료형은 무엇이든지 상관없다만 nil을 key로 쓸 수 없다.
후에 cool_table을 다시 print()로 찍어보았지만 요소와는 별 관계가 없음을 알 수 있다.
또한 없는 key를 호출할 경우 쓰레기값인 nil을 돌려받는다.
> cool_table = {["name"]="짱구", ["age"]="다섯살"} |
테이블은 이렇게도 만들 수 있다.
전체적으로 {}로 감싸며 key는 []로 감싼 형태이다.
> cool_table = {} > =(cool_table == cool_desk) |
만드는 방법이 다를 뿐, cool_table과 cool_desk는 서로 같은 key-value를 가진 테이블이지만
참조부분이 다르므로 결과적으로 false다.
[출처] 루아(Lua), 한장에 정리!(미완성)|작성자 D4
'게임개발공부 > LUA공부' 카테고리의 다른 글
조건문 (0) | 2014.01.13 |
---|---|
문자열 정리 (0) | 2014.01.13 |
연산자. (0) | 2014.01.13 |
루아의 변수 선언과 규칙. (0) | 2014.01.13 |
루아스크립트 콘솔에서 실행하기 (0) | 2014.01.13 |