[ Lua ] 시작하기에 앞서서..

Lua 는 맥시코에서 개발된 스크립트 언어이다.

WOW에서 UI제작에 쓰이고 난 다음부터

게임개발자들 사이에서 인기를 얻기 시작하고

금새 유명한 스크립트 언어로 극부상하게된다.

 

Lua는 기존의 프로그래밍언어들과 닮은 듯 하지만

다소 생소하고 특이한 부분이 있다.

하지만, 바로 이런점들이 Lua의 강력하고도 유연한

프로그래밍 기법의 토대가 된다고 생각한다.

 

Lua 스크립트 언어에 대한 포스팅에 앞서

몇가지 Lua의 언어적 특징에 대해서 언급해 보겠다.

 

먼저, C와 같은 유~명한 ( 하지만 지루하고 고지식한 ) 언어는

함수내부에서 함수를 호출할 경우, 내부 함수는 자신을 호출한

함수의 지역변수에 접근할 수 없다 ! 당연한 소리다...

아래의 코드를 보면 쉽게 이해가 갈 것이다.

 

 

주석이 붙은 (1) 부분을 유심히 봐주길 바란다.

goo 함수의 내부에서 자신을 호출한 foo 함수내의 지역변수 ret 를

직접참조하고있다... 당연히 컴파일 에러가 날 것이다.

하지만, Lua에서는 이것이 허용되고 널리 이용된다. 오히려 편하다!

이런 문법을 왜 제공하는지에 대해서는 차차 논의하기로 하자.

 

그 외에도, Lua는 객체지향적 구현도 어느정도 (완벽하지는 않다) 지원한다.

또한, Lua는 기존의 네이티브언어 ( C, C++ 등 ) 와의 연동이 매우! 간단하다.

파일 입출력이나 다양한 자료구조를 Lua 표준 라이브러리 차원에서 지원한다.

파서를 이용한 파일 읽기나 정보를 파일로 저장하는 등의 작업이 매우! 쉬워진다.

또한 Lua는 실행시 컴파일되기 때문에 ( 매우 빠른 속도로!! ) 기존코드를

매번 컴파일 할 필요가 없어진다. ( 한 번 컴파일 하는데 시간이 5분 걸리는 대형

프로젝트에 스크립트언어를 병행해야하는 이유 중 하나이다 )

 

그 밖에도 스크립트언어 ( 특히 Lua ) 를 배워야하는 이유가 있지만,

일단 이정도만 살펴보는 것으로 만족하자.

 

다음 포스팅에는 루아스크립트의 설치와 Hello World 를 출력해보자!