반응형

복잡하게 생각하지 말고 다음과 같은 예를 들어 보겠습니다.

 

 t = { apple=5 }
 a = "apple"
 b = "apple"
 print(t.apple, t[a], t[b])

 

결과는

5 5 5

위에서와 같이

t 라는 테이블은 apple라는 키에 5 가 설정된 테이블입니다.

 

이에 대한 접근은

 

t.apple

 

로 접근할 수 있으며,

 

또한 문자열 "apple" 이라는 것으로도 접근할 수 있다는 것 입니다.

 

이러한 기능이 별 필요 없거나 단순하다고 생각할 수 있습니다만,

 

이렇게 생각해보면 매우 유용합니다.

 

c/c++ 같은 고급 언어에서는 변수와 변수와 같은 이름의 문자열은 서로 연결할 수가 없습니다.

 

즉 c 에서

int apple;

string s = "apple";

 

이라는 것이 있을때

s 와 apple 사이의 관계는 특별히 매칭함수를 만들어 주지 않는이상 연결이 어렵습니다.

 

그러나 루아에서는 이렇게 특정 변수를 데이터인 문자열로 접근할 수 있도록 하는 기능을 제공하는 것 입니다.

+ Recent posts