루아 스크립트 프로그램 - lua seukeulibteu peulogeulaem

[Lua] 루아 Windows 다운로드

   2022.05.04     2분이 소요됩니다📖     -


Lua Programming

오늘은 Lua 설치하는 방법에 대해서 알아보겠습니다. Lua는 (한국에서는) C/C++ 계열의 게임 프로젝트 임베딩에 주로 사용되는 스크립트 언어입니다. 1993년에 브라질 교황청대학교 출신의 컴퓨터과학자 호베르투 예루잘링스키가 만들었습니다. 달을 뜻하는 포르투갈어에서 이름을 따왔다고 합니다.

2020 년에 Lua 5.4 가 업데이트 되었습니다.

루아 스크립트 프로그램 - lua seukeulibteu peulogeulaem


Lua 5.4 Windows Install

Lua 5.4 를 다운로드 해 보겠습니다. 먼저 lua.org 에서 Download -> Binaries 로 들어갑니다.

루아 스크립트 프로그램 - lua seukeulibteu peulogeulaem

원하는 버전을 다운 받습니다. 저는 가장 최신 버전인 Lua 5.4.2 를 다운 받았습니다. 클릭하여 각자 OS 에 맞는 Lua 를 다운 받습니다. 저는 Windows를 사용하기에 64비트의 bin.zip 파일을 다운 받았습니다.

lua54.exe 를 실행해 보겠습니다.

루아 스크립트 프로그램 - lua seukeulibteu peulogeulaem

출력 완료!

루아 스크립트 프로그램 - lua seukeulibteu peulogeulaem

환경 변수도 추가해 줍니다.


VSCode 에서의 사용

사실 VSCode 에서 Lua , Lua Debug 플러그인을 설치하면 Lua가 잘 돌아갑니다. 하지만 좀 더 효율적인 사용을 위해 Code Runner 에서 돌려보겠습니다.

루아 스크립트 프로그램 - lua seukeulibteu peulogeulaem

Code Runner , Lua , Lua Debug 를 다운받습니다.

다시 폴더로 돌아가서 lua54.exe 파일이름을 lua.exe로 변경합니다.

새로운 루아 파일을 작성하고 Code Runner 를 실행합니다! 단축키는 Ctrl + Alt + N 입니다. 환경변수에서 편집한 시스템 속성의 Path에서 Lua.exe 를 찾아 해당 파일을 실행합니다.

루아 스크립트 프로그램 - lua seukeulibteu peulogeulaem

Hello World 를 출력해 보겠습니다. 위와 같이 스크립트를 작성합니다.

루아 스크립트 프로그램 - lua seukeulibteu peulogeulaem

Hello World!


참조

코딩각 - 루아 프로그래밍 언어 설치하기 테스트

사진찍는 프로그래머 - [LUA] 개발 환경 만들기


[ Lua Script ] 

- 1993년 개발된 프로그래밍 언어. 이름은 달을 의미하는 포르투갈어 단어라고 한다. 스크립트 언어를 하나의 목적으로 가지고 있기 때문에 굉장히 작고 가벼운 인터프리터형 언어이다. 현재 안정버전은 5.3

태생 자체가 가벼운 스크립트 언어이며, C/C++에 접착시키기 매우 쉽다. 개발 과정에 있어서 재컴파일이나 리로딩없이 바로 설정 변화를 적용할 수 있는 점 때문에 특히 게임업계에서 많이 쓰인다.

- Python, Ruby 같은 스크립트 언어

- 다른 스크립트 언어보다 가볍다

- 프로그램에 내장되는 스크립트이다.

- 프로그램과 통신이 가능하다(데이터 교환, API 상호 호출)

- C, C++ 언어에 이식하기 편하다.

- 가비지 컬렉터가 있다.

* 가벼움

인터프리터(또는 후술할 JIT 컴파일러)의 용량이 300kb도 안 될 정도로 작고 굉장히 빠르다. 굉장히 적은 수의 데이터형만을 지원하긴 하지만 그만큼 가볍다. 다양한 프로그램에 쉽게 붙일 수 있는 이유도 용량과 속도의 부담이 적기 때문. 그러면서도 다양한 패러다임을 가지고 있는데, 절차적으로도, 객체지향적으로도, 함수형으로도 이용할 수 있다.

* 문법

- Lua의 변수는 기본적으로 전부 전역 변수. ex) suspect = 1(전역변수), local suspect = 1(지역변수)

- nil  => 다른언어의 Null과 같음. ex) suspect = nil

- boolean => true, false

- string => 문자열 처리에 강함(아직 Python에 익숙해서 Python이 더 좋은듯..)

- number=> 정수와 소수 구분 X, 모든 숫자를 실수형으로 처리

- table => C++의 std:map, Python의 dict와 유사한데, Lua의 최고의 장점이라고 할 수 있다. number형과 string 형을 모두 인덱스 할 수 있고, 크기가 고정되어 있지 않으며, 값과 변수가 아닌 객체이다.

* 다른 언어와 달리 0이 아닌, 1부터 시작한다.

- 명령문 (if)

if (조건식) than (실행문)

else if (조건식) than (실행문)

else (실행문)

end

- 명령문 (while)

while (조건식) do

(실행문)

end

- 명령문 (repeat)

C++의 do ~ while과 유사

repeat 

 (실행문)

until (조건식)

- 명령문 (numberic for)

for (초기화), (조건식), (증감) do

 (실행문)

end

증감을 생략하면 자동으로 1씩 증가

- 명령문 (generic for)

table의 요소를 한 번에 하나씩 접근할 때 주로 사용

pairs() / ipairs() 함수와 함께 사용

ex) days = {"a", "b", "c"}

     for index, value in pairs(days) do

         print(index, value)

    end

result :  1  a

           2  b

           3  c

- 함수 

function 함수이름(인자)

  함수내용..

  return 반환값

end

[ 설치 방법 ]

1. 아래의 좌표에서 다운로드를 받는다.

https://code.google.com/p/luaforwindows/

2. 다운로드 받은 설치파일을 실행하여 설치 하기

Telegram을 이용해서 Bot을 하나 만들어보려고 계획중에 Lua Script를 알게 되었습니다.

Python 찬양자인 저로서는 Lua가 그렇게 끌리진 않지만, Telegram Bot을 만들 때 사용해보려고 합니다.