lua简明教程
前言
lua是一种轻量小巧的脚本语言。
lua特性
1.轻量级,编译后不过200K
2.可扩展性
3.自动内存管理
4.支持面向过程编程和函数式编程
……
lua应用场景
1.游戏开发
2.独立应用脚本
3.web应用脚本
4.扩展和数据库插件
5.安全系统
安装使用
安装问题
1.编译lua时,提示
|
|
linux环境缺少readline库。
到ftp://ftp.gnu.org/gnu/readline/ 下载并进行安装
2.安装完readline后提示
|
|
需要安装Ncurses
3.编译Ncurses提示 error: expected ‘)’ before ‘int’
导入环境变量,在进行配置编译,安装,命令如下
|
|
参考:
https://stackoverflow.com/questions/37475222/ncurses-6-0-compilation-error-error-expected-before-int
总结:安装成功安装lua的前提是linux上有readline和ncurses库.
Hello World
和Python类似,它也可以交互式编程,在命令行输入lua后即可进入:
|
|
当然也可以将脚本内容写在文件,例如,将上面的内容写在hello.lua:
|
|
其中第一行指定了lua解释器路径,执行:
|
|
这里注意,如果你没有加第一行,shell就不知道用哪个解释器去解释运行,当然你也可以通过下面的方式运行:
|
|
注释
同样地,它至少有两种注释,单行注释使用—:
|
|
多行注释:
|
|
语法
数据类型
- nil—表示无效值
- boolean false和true,lua将nil看成是”假”
- number 双精度类型的实浮点数
- string 字符串
- function 由c或lua编写的函数
- userdata 表示任意存储在变量中的c数据结构
- thread 表示执行的独立线路,用于执行协同程序
- table lua中的表,类似于关联数组
判断类型
可以通过type函数来判断数据类型
|
|
字符串算数操作
在对一个数字字符串上进行算术操作时,Lua 会尝试将这个数字字符串转成一个数字:
例如:
|
|
- 字符串连接 ..
|
|
- 计算字符串长度 #
|
|
table
Lua 里表的默认初始索引一般以 1 开始
变量
默认情况下,变量总认为是全局的.
全局变量不需要声明,访问未初始化的全局变量不会报错,得到的结果是 nil想删除一个全局变量,只需要将变量赋值为nil
当且仅当该变量不为nil时,变量存在a =1 —>全局变量
local b =2 —>局部变量
Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。