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

Lua 教程

Lua est un langage open source basé sur le langage C. Lua a une valeur dans de multiples plateformes, allant des systèmes serveurs de grande taille aux applications mobiles. Ce tutoriel couvre divers sujets, allant des bases de Lua à son utilisation dans diverses applications.

Lua est un langage de script léger et compact, écrit en C standard et ouvert sous forme de code source, dont le but est de s'intégrer dans des applications, fournissant ainsi des fonctionnalités d'extension et de personnalisation flexibles aux applications.

Lua est une équipe de recherche de l'Université catholique pontificale de Rio de Janeiro (Pontifical Catholic University of Rio de Janeiro). 1993 Développé en 1995, le groupe de travail comprenait : Roberto Ierusalimschy, Waldemar Celes et Luiz Henrique de Figueiredo.

设计目的

其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

Lua 特性

  • 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。

  • 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。

  • 其它特性:

    • 支持面向过程(procedure-oriented)编程和函数式编程(functional programming);

    • 自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;

    • 语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;

    • 通过闭包和table可以很方便地支持面向对象编程所需的一些关键机制,比如数据抽象,虚函数,继承和重载等。

Lua 应用场景

  • 游戏开发

  • 独立应用脚本

  • Web 应用脚本

  • 扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench

  • 安全系统,如入侵检测系统

面向对象编程

在Lua中,可通过create a module和table可以很方便地支持面向对象编程所需的一些关键机制,比如数据抽象,继承和重载等。

第一个 Lua 程序

接下来我们使用 Lua 来输出"Hello World!"

示例(Lua 5.3)

print("Hello World!")
测试看看 ‹/›
运行后,会在屏幕上显示 Hello, world!。