[Lua] 루아 Windows 다운로드
2022.05.04 2분이 소요됩니다📖 -
Lua Programming
오늘은 Lua 설치하는 방법에 대해서 알아보겠습니다. Lua는 (한국에서는) C/C++ 계열의 게임 프로젝트 임베딩에 주로 사용되는 스크립트 언어입니다. 1993년에 브라질 교황청대학교 출신의 컴퓨터과학자 호베르투 예루잘링스키가 만들었습니다. 달을 뜻하는 포르투갈어에서 이름을 따왔다고 합니다.
2020 년에 Lua 5.4 가 업데이트 되었습니다.
Lua 5.4 Windows Install
Lua 5.4 를 다운로드 해 보겠습니다. 먼저 lua.org 에서 Download -> Binaries 로 들어갑니다.
원하는 버전을 다운 받습니다. 저는 가장 최신 버전인 Lua 5.4.2 를 다운 받았습니다. 클릭하여 각자 OS 에 맞는 Lua 를 다운 받습니다. 저는 Windows를 사용하기에 64비트의 bin.zip 파일을 다운 받았습니다.
lua54.exe 를 실행해 보겠습니다.
출력 완료!
환경 변수도 추가해 줍니다.
VSCode 에서의 사용
사실 VSCode 에서 Lua , Lua Debug 플러그인을 설치하면 Lua가 잘 돌아갑니다. 하지만 좀 더 효율적인 사용을 위해 Code Runner 에서 돌려보겠습니다.
Code Runner , Lua , Lua Debug 를 다운받습니다.
다시 폴더로 돌아가서 lua54.exe 파일이름을 lua.exe로 변경합니다.
새로운 루아 파일을 작성하고 Code Runner 를 실행합니다! 단축키는 Ctrl + Alt + N 입니다. 환경변수에서 편집한 시스템 속성의 Path에서 Lua.exe 를 찾아 해당 파일을 실행합니다.
Hello World 를 출력해 보겠습니다. 위와 같이 스크립트를 작성합니다.
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. 아래의 좌표에서 다운로드를 받는다.
//code.google.com/p/luaforwindows/
2. 다운로드 받은 설치파일을 실행하여 설치 하기
Telegram을 이용해서 Bot을 하나 만들어보려고 계획중에 Lua Script를 알게 되었습니다.
Python 찬양자인 저로서는 Lua가 그렇게 끌리진 않지만, Telegram Bot을 만들 때 사용해보려고 합니다.