English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Lua 가이드

루아는 C 언어 위에 세워진 오픈 소스 언어입니다. 루아는 대형 서버 시스템에서 작은 모바일 애플리케이션까지 다양한 플랫폼에서 그 가치를 발휘합니다. 이 튜토리얼은 루아의 기본 지식부터 다양한 애플리케이션에서의 활용 범위에 이르기까지 다양한 주제를 다룹니다.

루아는 가벼운 작은 스크립트 언어로, 표준 C 언어로 작성되어 소스 코드 형식으로 공개되었습니다. 그 설계 목적은 애플리케이션에 삽입하여 애플리케이션에 유연한 확장 및 맞춤형 기능을 제공하는 것입니다.

루아는 브라질 리오데자네이루 가톨릭 대학교(Pontifical Catholic University of Rio de Janeiro)의 연구 그룹에 의해 1993 연开发的, 이 그룹의 구성원은 Roberto Ierusalimschy, Waldemar Celes, 그리고 Luiz Henrique de Figueiredo입니다.

설계 목적

설계 목적은 응용 프로그램에 통합되어 응용 프로그램에 유연한 확장 및 정책 기능을 제공하는 것입니다.

Lua 특성

  • 가벼운: 표준 C 언어로 작성되어 소스 코드로 공개되며, 컴파일된 후 100KB도 안됩니다. 다른 프로그램에 쉽게 통합할 수 있습니다.

  • 확장 가능: Lua는 매우 쉽게 사용할 수 있는 확장 인터페이스와 메커니즘을 제공합니다: 대주체 언어(대부분 C 또는 C++)이 기능을 제공하면 Lua는 그것들을 기본 기능처럼 사용할 수 있습니다。

  • 기타 기능:

    • 지향 절차(procedure-지향) 프로그래밍과 함수적 프로그래밍(functional programming);

    • 자동 메모리 관리; 표(table)형태의 유일한 일반 타입을 제공하며, 이를 통해 배열, 해시 테이블, 셋, 객체를 구현할 수 있습니다;

    • 언어 내장 패턴 매칭; 클로저(clousure); 함수는 값으로 간주될 수 있습니다; 다중 스레드(협력 프로세스, 운영 체제가 지원하는 스레드가 아닙니다) 지원;

    • 클로저와 table을 사용하여 데이터 추출, 가상 함수, 상속 및 오버로드와 같은 객체 지향 프로그래밍에 필요한 주요 기능을 매우 쉽게 지원할 수 있습니다.

Lua 응용 시나리오

  • 게임 개발

  • 독립 애플리케이션 스크립트

  • 웹 애플리케이션 스크립트

  • 확장 및 데이터베이스 플러그인, 예를 들어 MySQL Proxy와 MySQL WorkBench

  • 보안 시스템, 예를 들어 침입检测 시스템

객체 지향 프로그래밍

Lua에서는 create a module과 table을 사용하여 데이터 추출, 상속 및 오버로드와 같은 객체 지향 프로그래밍에 필요한 주요 기능을 매우 쉽게 지원할 수 있습니다.

첫 번째 Lua 프로그램

이제 Lua를 사용하여 "Hello World!"을 출력하겠습니다.

예제(Lua 5.3)

print("Hello World!")
테스트를 보고 보세요 ‹/›
실행 후, 화면에 "Hello, world!"이 표시됩니다。