返回首页

教程导航

返回首页

🏷️ 标签(1)

🗂️ 分类(1)

第 1 章 Lua 简介

第 1 章 Lua 简介

Lua 是一门可嵌入、易扩展的轻量级脚本语言。它诞生于 1993 年,由巴西里约热内卢天主教大学的研究团队设计,强调可移植性、简单性和与宿主程序的集成能力。

为什么选择 Lua

Lua 的核心运行时很小,适合放入游戏引擎、网络设备、编辑器和服务端程序。宿主程序可以通过 C API 向 Lua 暴露能力,Lua 则负责描述流程、规则和配置。

它的主要优势包括:

  • 轻量:解释器体积小,启动快,适合嵌入。

  • 跨平台:只依赖标准 C,能运行在桌面、服务器和嵌入式设备上。

  • 一致的数据模型:表既可作为数组,也可作为字典和对象。

  • 可扩展:C 与 Lua 可以双向调用。

  • 成熟稳定:语法变化少,长期维护成本低。

Lua 的设计特点

Lua 以小型内核和丰富扩展机制为设计核心。它没有内置的类系统,但可以通过表、函数和元表构建;没有复杂的线程模型,但提供协作式协程。

动态类型

变量本身没有固定类型,值才具有类型。一个变量可以在不同时间保存不同种类的值:

local value = 42
print(type(value)) -- number

value = "Lua"
print(type(value)) -- string

整数与浮点数

Lua 5.4 区分整数和浮点数。整数使用 64 位表示,浮点数默认是双精度:

local count = 10
local ratio = 2.5

print(math.type(count)) -- integer
print(math.type(ratio)) -- float
print(10 / 2)           -- 5.0
print(10 // 2)          -- 5

自动内存管理

Lua 使用垃圾回收器管理内存。开发者通常不需要手动释放对象,但应避免无意义地保留引用,尤其是长生命周期的表。

第一个 Lua 程序

创建文件 hello.lua:

local name = "Lua"
print("Hello, " .. name)

在终端运行:

lua hello.lua

输出:

Hello, Lua

也可以直接使用交互环境:

$ lua
Lua 5.4.7  Copyright (C) 1994-2024 Lua.org, PUC-Rio
> print("Hello, Lua")
Hello, Lua
> os.exit()

学习路线与约定

教程按四个阶段组织:

  1. 第 1 至 6 章:运行环境、基本类型、运算符、控制流和函数。

  2. 第 7 至 12 章:表、迭代器、字符串、模块、元表和面向对象写法。

  3. 第 13 至 17 章:协程、错误处理、文件、标准库与 C API。

  4. 第 18 至 20 章:完整项目、测试调试和工程实践。

示例统一使用 Lua 5.4。若示例强调行为差异,会明确标注版本。

学习 Lua 的关键不是背语法,而是理解“值、函数、表”之间的关系。大多数高级模式都可以还原为这三者的组合。

上一章:目录 | 下一章:环境搭建