관리 메뉴

Value Creator의 IT(프로그래밍 / 전자제품)

#5. [LUA] Lua 설치하기(Lua For Windows) 본문

1. 프로그래밍/2) LUA

#5. [LUA] Lua 설치하기(Lua For Windows)

valuecreatort 2019. 4. 19. 01:14
반응형

 

 

 

 

 

 

1. Lua 소개

- C/C++같은 기존의 언어로 작성된 소프트웨어와 쉽게 통합되도록 설계된 스크립트 언어

- 확장성, 단순함, 효율성, 이식성에 강점을 가진다.

- 2015년 1월 6일 기준 Lua의 최상위 버전은 5.2.3 이다.

- 리눅스, 유닉스 기반으로 되어있기때문에 별도의 Lua 인터프리터가 필요하다.

- lua for windows에서 윈도우용으로 설치해서 예제 실습을 실행해 보자.

 

2. 루아 시작하기

2.1 루아 설치와 실행

- 윈도우 사용자라면 lua for windows_5.1.4에서 다운로드 한다.

- 기본설정으로 설치를 끝내면, 바탕화면에 2개의 아이콘이 생성된다.

 

- Lua 를 실행하면 독립 실행 인터프리터가 대화형 콘솔 실행된다.

- Ctrl+Z나 Ctrl+C키로 종료할수 있으며, os.exit()를 입력해도 종료된다.

 

- SciTE는 프로그램을 작성하는 툴로, SublimeText나 Visual Studio 와 같이 디버깅 기능도 제공한다.

 

2.2 청크(Chunk)

- 루아가 실행하는 코드조각으로 순서대로 실행되는 명령이나 문장을 의미한다.

- 즉, 하나의 문장, 하나의 명령을 청크라 생각하면 된다.

- 아래의 4가지 청크는 모두 유효하며 결과도 같다.

- 사용자가 편한대로 골라쓰면 된다.

 

 

1

2

3

4

5

6

7

8

a = 1

b = a*2

 

a = 1;

b = a*2;

 

a=1; b=a*2;

a=1 b=a*2

cs






 

- 대화모드에서는 입력하는 1줄을 완성된 1개의 청크로 해석한다.

- 여러줄을 입력할때는 파일로 작성하여 대화모드에서 불러오는것이 더 편한다.

- 아래와 같이 파일을 작성하고 lib1.lua 로 C:\에 저장한다.

1

2

3

4

5

6

7

function norm (x, y)

return (x^2 + y^2)^0.5

end

 

function twice(x)

return 2*x

end

cs




- 대화모드에서 아래와 같이 입력하면, 대화모드에서 사용할수 있다.

 

2.3 어휘규정

- 숫자로 시작하지 않는 문자, 숫자, 언더스코어(_)로 구성된 문자열은 사용할수 있다.

- _VERSION 처럼 언더스코어로 시작하는 대문자열은 루아에서 사용하는 식별자이므로 사용을 피해야 한다.

- 다음은 예약어이므로 사용할 수 없다.

and break do else elseif end false goto for function if in local nil not or repeat return then true until while

- 대소문자를 구분하므로 And 나 AND 등은 사용 가능하다.

- -- 하이픈2개는 한줄 주석이다.

- --[[ --]] 는 구간 주석으로 사용한다.

- 아래에서 1~3은 주석처리가 된 부분이고, 5~7은 주석이 해제된 부분이다.

- 하이픈 1개를 추가함으로써, 구간주석을 한줄주석으로 바꾸었기 때문에 주석이 해제된다.

1

2

3

4

5

6

7

--[[

print(10)

--]]

 

---[[

print(10)

--]]

cs




 

2.4 전역변수

- 전역변수는 선언할 필요없이 그냥 사용하면된다.

- 초기화 되지 않은 변수를 사용해도 괜찮다. default 값이 nil으로 자동으로 채워진다.

- 1번은 nil값을 출력하고, 3번은 10을 출력한다.

1

2

3

print(b)

b=10

print(b)

cs




 

2.5 독립 실행형 인터프리터

- 루아 대화모드에서는 등호(=)로 시작하는 표현식을 입력하면 그 결과값을 출력한다.

- 아래 그림처럼 sin 값을 출력하고, a값을 출력한다.

 

반응형
Comments