由C语言开发的脚本语言(已开源),用于给应用程序提供扩展性和定制功能,但是无法作为应用程序开发语言(没有开发库),可以用于开发歪瓜(CF)
特性
- 支持面向过程编程和函数式编程;
- 自动内存管理;只提供了一种通用类型的表,用它可以实现数组,哈希表,集合,对象;
- 语言内置模式匹配;支持多线程;
应用场景
- 游戏开发
- 独立应用脚本
- Web应用脚本
- 扩展和数据库插件(MySQL Proxy和Mysql WorkBench)
- 安全系统(入侵检测系统)
- Redis中嵌套调用实现类似事务的功能
- Web容器中应用处理一些过滤缓存等逻辑(Nginx)
常用命令和语法
运行lua脚本(后缀为.lua的文件类似.java文件),由自己编写的lua文件运行的lua编程模式为脚本式编程
lua xxx.lua
进入lua控制台(交互式编程)
lua/lua -i
注释和多行注释
–
–[[
–]]
全局变量和局部变量
a=1//全局
local a=1//局部
类型函数
type
循环
if(…)
then
…
else
…
end
函数
function(…){
…
}
字符串拼接
表table
table={}初始化
table[1]=“123”
table=nil释放内存
引入模块
require(“xxx”)
数据类型
数据类型 | 描述 |
---|---|
nil | 表示无效值(在条件表达式中相当于false) |
boolean | 包含两个值:false和true |
number | 表示双精度类型的浮点数 |
string | 字符串类型,用单引号或者双引号表示 |
function | 由C或者Lua编写的函数 |
userdata | 表示任意存储在变量中的C数据结构 |
thread | 表示执行的独立线路,用于执行协同程序 |
table | 表结构对象,就是一个数组结构 |