분류 전체보기
-
[Lua] 함수 (2)Lua 2025. 2. 17. 17:08
이전 글 ( [Lua] 함수 (1) )에서 루아에서 함수의 형태, 값 전달 및 반환과 같은 기본적인 명세를 살펴보았습니다.이번 글에서는 루아의 함수를 조금 더 상세하게 살펴보도록 하겠습니다. 1. 1급 객체 (First-class object) 더보기함수는 특정 기능을 수행하는 명령의 집합이라고 볼 수 있습니다.하지만 루아의 함수는 정수, 문자열 등의 다른 값들과 동일하게 "값" 으로 취급됩니다. 예를 들어, 아래 두 줄의 코드는 동일합니다.function foo () print("foo") endfoo = function () print("foo") end특정한 이름을 가진 변수를 만들어 값을 대입하여 사용할 때, 그 이름은 값이 아닌 변수에 주어지는 이름입니다.객체 지향 프로그래밍에서 객체에 이름이..
-
[Lua] 함수 (1)Lua 2025. 2. 13. 15:41
함수는 특정 작업, 계산을 처리하고 결과를 반환하는 일련의 과정을 추상화 한 기능입니다.경우에 따라 프로시저, 서브루틴 등으로도 부를 수 있습니다.루아의 함수는 다른 언어에서 사용되는 함수라는 용어와 거의 동일합니다.인자를 전달하고, 지정된 명령을 처리하고, 결과값을 반환할 수 있습니다. 이번 글에서는 루아의 함수가 다른 언어와 다른 부분들을 살펴보도록 하겠습니다. 0. 함수의 형태 루아의 함수는 다음과 같은 형태로 구성됩니다.// 정의function {name}({args}) {work}end// 호출{name}({args})예를 들어, 인자로 전달받은 값을 출력하는 함수를 다음과 같이 만들어 호출할 수 있습니다.// 선언function foo(arg) print(arg)end// 호출fo..
-
[Lua] 제어 구문 (if, while, repeat, for, break, goto...)Lua 2025. 2. 5. 11:55
제어 구문에 해당하는 키워드들은 프로그램의 실행 흐름을 조절하는 역할을 수행합니다. 이번 글에서는 Lua의 제어 구문의 기본적인 사용법에 대해 알아보도록 하겠습니다. 1. if (조건문) 더보기조건문 if는 조건식을 검사하여 해당 코드의 실행 여부를 결정합니다.사용법은 다음과 같습니다.if {state A} then -- codeelseif {state B} then -- codeelseif {state C} then -- codeelse -- codeend각각의 if, elseif는 뒤따르는 state 조건식을 판별합니다.해당 조건식이 true일 경우 아래 코드가 실행됩니다.모든 조건식이 거짓일 경우 else의 코드가 실행됩니다. if - elseif - else 구문은 els..
-
[Lua] 다중 할당문 (Multiple assignments)Lua 2024. 10. 8. 17:03
할당문은 변수나 테이블의 값을 바꾸는 기본적인 수단입니다.foo = "Hello" .. " world!"bar.f1 = bar.f1 + 1대입 연산자를 통해 위와 같이 값을 바꾸는 것이 가능합니다.대부분의 프로그래밍 언어는 한 문장에서 한 변수에 대한 할당을 지원합니다. Lua는 여기에 더해 다중 할당을 지원합니다.다중 할당이 Lua만의 특징은 아니지만, Lua의 큰 특징 중 하나이니 살펴보도록 하겠습니다. 1. 다중 할당 다중 할당은 한 문장에서 여러 변수에 여러 값을 대입하는 방법입니다.foo, bar = 1, 2print(foo, bar) -- 1 2더보기위 예제는 두 변수에 값을 할당했습니다.두 개 뿐만 아니라, 3개 이상의 변수를 이용한 다중 할당도 가능합니다.a, b, c, d = 1, ..
-
[Lua] 연산자 알아보기Lua 2024. 10. 7. 18:54
프로그래밍 언어마다 사용되는 산술, 논리, 비교 연산자 등은 대부분 유사합니다.사칙연산, 대소비교 등 대부분의 연산이 동일한 기호를 사용하며 동일한 결과를 도출하지만, 언어별로 일부 다른 부분이 존재하는 경우가 있습니다.Lua또한 C, C++등과 용법이 다른 연산자가 있습니다.이번 글에서는 Lua의 연산자들을 살펴보도록 하겠습니다. 1. 산술 연산자 산술 연산자는 덧셈, 뺄셈, 곱셈, 나눗셈, 제곱, 나머지, 부정 연산자 입니다.각각 +(덧셈), -(뺄셈, 부정), *(곱셈), /(나눗셈), ^(제곱), %(나머지) 기호를 사용합니다.더보기산술 연산자는 문자열 자동 변환을 지원합니다.print("12" + "3") -- 15print(1 - "123") -- -122print("42" * ..
-
[Lua] Type (자료형) 알아보기Lua 2024. 10. 4. 17:23
Lua는 동적 타입 언어 입니다. 모든 값에 타입이 지정되어 있으므로, 변수를 선언할 때 타입을 지정하지 않습니다.Lua의 기본 타입은 nil, boolean, number, string, function, table, thread, userdata의 8가지가 있습니다.print(type("Hello world!")) -- stringprint(type(1.1)) -- numberprint(type(123)) -- numberprint(type(print)) -- functionprint(type(type)) -- functionprint(type(true)) -- booleanprint(type(nil)) ..
-
[Lua] Lua binary : lua.exe, luac.exe, wlua.exeLua 2024. 9. 20. 12:23
지난 글 (Lua installation & 개발 환경 구축)에서 컴파일된 Lua 바이너리를 사용했습니다.컴파일되어 사용 가능한 Lua 프로그램은 lua.exe, luac.exe, wlua.exe의 세 종류가 있었습니다.이전 글의 내용에서는 lua.exe만 사용했기 때문에, 이번 글에서는 다른 두 프로그램과 비교를 해 보려 합니다. 1. lua.exe Lua 스크립트를 실행하는 인터프리터 입니다.스크립트 파일을 실행하는 것 외에도 인자로 전달한 코드 조각을 실행하거나, 대화 모드로 코드를 실행할 수 있습니다. 2. luac.exe Lua 스크립트를 컴파일하는 컴파일러입니다.스크립트를 바이트코드로 컴파일하여 실행 성능을 향상시킬 수 있습니다.더보기다음과 같은 예제 코드가 있을 때print("Hello w..
-
[Lua] Lua installation & 개발 환경 구축Lua 2024. 9. 19. 16:48
이번 글에서는 다음의 내용을 다룹니다.Windows 환경에서 특정 버전의 Lua 설치하기Visual studio code에서 Lua 코드 실행 환경 구축하기 1. Lua Binary 다운로드 더보기Lua Binary 파일은 SourceForge에서 다운로드 받을 수 있습니다.LuaBinaries download | SourceForge.net 위와 같이 Files 탭에서, 다운로드 하려는 버전을 선택합니다.이번 글에서는 5.2.4 버전을 다운로드 하겠습니다. 버전을 선택하면 바이너리의 종류를 선택할 수 있습니다.Lua의 소스코드, 여러 플랫폼에서 사용할 수 있는 라이브러리를 다운로드 할 수도 있습니다.이번 글에서는 컴파일 된 Lua를 다운로드 하여 사용하도록 하겠습니다.Tool Executables를..