liminfo

Lua Reference

Lua 프로그래밍 레퍼런스

31개 결과

Lua Reference 소개

Lua 레퍼런스는 Lua 프로그래밍 언어의 문법을 기본문법, 테이블, 함수, 모듈, 메타테이블, 코루틴의 6개 카테고리로 정리한 검색 가능한 치트시트입니다. 각 항목에는 구문 패턴, 간결한 설명, 바로 사용 가능한 코드 예제가 포함되어 있습니다.

local 변수 선언, if/elseif/else 조건문, 숫자 for 및 제네릭 for 반복문, while/repeat 루프, 문자열 연결(..)과 string.format, string.find/gsub 패턴 매칭, 테이블 생성과 table.insert/remove/sort/concat/unpack 조작 등 핵심 Lua 구문을 모두 다룹니다.

함수 정의, 다중 반환값, 가변 인자, 클로저, require를 통한 모듈 시스템, setmetatable과 __index/__add/__tostring/__call 메타메서드를 활용한 메타테이블 프로그래밍, coroutine.create/yield/wrap/status를 이용한 코루틴 제어 등 고급 주제도 포함합니다.

주요 기능

  • 6개 카테고리로 정리된 36개 이상의 Lua 문법 항목 수록
  • 기본문법: 변수, 조건문, for/while/repeat 반복문, 문자열 연산 완벽 정리
  • 테이블 조작: insert, remove, sort, concat, unpack, 길이 연산자 레퍼런스
  • 함수: 정의, 다중 반환값, 가변 인자(...), 클로저 패턴 설명
  • 모듈 시스템: require, 모듈 작성 패턴, package.path 설정
  • 메타테이블: __index, __add, __tostring, __call 메타메서드 활용법
  • 코루틴: create, yield, wrap, resume, status 레퍼런스
  • 키워드 검색과 카테고리 필터링 지원, 회원가입 불필요

자주 묻는 질문

이 Lua 치트시트는 어떤 내용을 다루나요?

기본문법(변수, 조건문, 반복문, 문자열 연산, string.format, string.find/gsub), 테이블(생성, insert, remove, sort, concat, unpack, 길이), 함수(정의, 다중 반환, 가변 인자, 클로저), 모듈(require, 모듈 생성, package.path), 메타테이블(__index, __add, __tostring, __call), 코루틴(create, yield, wrap, status)의 6개 카테고리를 다룹니다.

Lua에서 local 변수와 전역 변수의 차이는 무엇인가요?

local 키워드로 선언하면 해당 블록 범위 내에서만 유효한 지역 변수가 됩니다. local 없이 선언하면 전역 변수로 생성됩니다. Lua에서는 성능과 코드 안정성을 위해 local 변수 사용이 권장됩니다.

pairs()와 ipairs()의 차이점은 무엇인가요?

ipairs(arr)는 정수 키를 가진 배열형 테이블을 1부터 순서대로 순회하며 첫 nil에서 멈춥니다. pairs(tbl)는 문자열 키와 비순차 정수 키를 포함한 모든 키-값 쌍을 순회하지만 순서가 보장되지 않습니다.

Lua 메타테이블은 어떻게 사용하나요?

setmetatable(t, mt)로 메타테이블을 설정합니다. __index는 존재하지 않는 키 접근 시 동작을 정의하고, __add/__mul은 연산자 오버로딩, __tostring은 문자열 변환 커스터마이징, __call은 테이블을 함수처럼 호출 가능하게 합니다.

Lua 코루틴의 동작 원리는 무엇인가요?

coroutine.create()로 코루틴을 생성하고, coroutine.resume()으로 실행을 시작 또는 재개하며, coroutine.yield()로 일시 중단합니다. coroutine.wrap()은 함수형 래퍼를 생성하고, coroutine.status()는 suspended, running, dead 등 상태를 확인합니다.

Lua에서 모듈을 만들고 사용하는 방법은?

local M = {} 테이블을 정의하고 함수를 추가한 뒤(function M.greet(name) ... end) return M으로 반환합니다. 사용 시 require("modulename")으로 로드합니다. package.path로 모듈 검색 경로를 설정할 수 있습니다.

Lua 문자열 연산에는 어떤 것들이 있나요?

문자열 연결(..), 길이 연산(#s), 부분 문자열(string.sub), 대소문자 변환(string.upper/lower), 서식 문자열(string.format), 패턴 검색(string.find), 패턴 치환(string.gsub)을 지원합니다.

이 레퍼런스는 무료인가요?

네, 완전 무료이며 사용 제한이 없고 회원가입도 필요 없습니다. 모든 처리는 브라우저에서 로컬로 이루어지며, 데스크톱, 태블릿, 모바일에서 다크 모드와 함께 사용할 수 있습니다.