간단한 Lua 스크립트 문법
주석(comment)
Lua에서는 두 개의 대시 기호(--)를 사용하여 주석을 작성한다.
-- 나는 주석이다.
변수(variable)
변수는 선언과 동시에 초기화할 수 있다.
-- 변수 선언과 초기화 local num = 10 local str = "hello"
데이터 타입(data type)
Lua에서 데이터 타입은 크게 두 가지로 나뉜다. 하나는 기본 자료형이고, 다른 하나는 테이블다.
기본 자료형
- nil : 값이 없는 상태. (falsy)
- boolean : 참(true) 또는 거짓(false)
- number : 숫자
- string : 문자열
-- 기본 자료형 예제 local a = nil local b = true local c = 123 local d = "hello"
문자열 함치기
-- 문자열을 합치는 방법 local a = "Hello" local b = "World" print(a.." "..b) --HelloWorld
테이블
Lua에서 테이블은 객체 또는 배열의 역할을 수행한다. 다른 언어의 딕셔너리(dictionary)나 맵(map)과 비슷한 역할을 한다.
-- 테이블 예제 local person = { name = "freevue", age = 327, skills = {"html", "css", "javascript", "typescript"} }
연산자(operator)
산술 연산자
+
: 덧셈-
: 뺄셈*
: 곱셈/
: 나눗셈%
: 나머지
-- 산술 연산자 예제 local a = 10 local b = 5 print(a + b) -- 15 print(a - b) -- 5 print(a * b) -- 50 print(a / b) -- 2 print(a % b) -- 0
비교 연산자
==
: 같음~=
: 다름 (!=
는 작동안함)<
: 작음>
: 큼<=
: 작거나 같음>=
: 크거나 같음
-- 비교 연산자 예제 local a = 10 local b = 5 print(a == b) -- false print(a ~= b) -- true print(a < b) -- false print(a > b) -- true print(a <= b) -- false print(a >= b) -- true
논리 연산자
and
: 논리곱(AND)or
: 논리합(OR)not
: 논리부정(NOT)
-- 논리 연산자 예제 local a = true local b = false print(a and b) -- false print(a or b) -- true print(not a) -- false
조건문(if statement)
Lua에서 조건문은 if문을 사용한다. then으로 조건을 확인하고, end로 종료한다.
-- if문 예제 local a = 10 local b = 5 if a > b then print("a is greater than b") end
반복문(loop)
Lua에서 반복문은 while문과 for문을 사용한다. do로 반복문을 시작하고, end로 종료한다.
while문
-- while문 예제 local i = 1 while i <= 5 do print(i) i = i + 1 end -- 1 -- 2 -- 3 -- 4 -- 5
for문
-- for문 예제 for i = 1, 5 do print(i) end -- 1 -- 2 -- 3 -- 4 -- 5
함수(function)
Lua에서 함수는 function을 사용한다. 아주 대단한 점이 클로저를 지원한다!
-- 함수 예제 function add(a, b) return a + b end
모듈(module)
모듈은 require 함수를 사용하여 불러온다.
local M = {} function M.add(a, b) return a + b end function M.sub(a, b) return a - b end return M
모듈을 만들고, 불러온다.
local math = require("module") print(math.add(10, 5)) -- 15 print(math.sub(10, 5)) -- 5