本文参考(摘录)自如下地址(排名不分前后):
LUA快速使用指南
LUA5.3手册
Lua教程
一、简单理解lua
Lua在葡萄牙语中是月亮的意思,是一个有效的轻量级的可嵌入式脚本语言。它支持面向对象和面向过程的编程方式。从1993年被开发出来至今仍然非常地活跃,比如深度学习的开源框架Torch就使用Lua和C作为开发的主要语言。由于它的速度和易用性,开发者可以将Lua嵌入到游戏引擎中。同时,Lua还有很高的可扩展性。另外在源码文件以及运行所需的内存使用量方面都是相对较小。
Lua的功能特色、安装步骤与使用简例在LUA快速使用指南中整理的非常详细,
二、关于lua的基本语法
1、注释
单行注释:使用两个减号作为单行注释: –注释内容,示例如下
-- 这里是注释内容
多行注释:示例如下
--[[
这里是注释内容
--]]
2、Lua保留关键字,不能作为常量或变量或其他用户自定义标识符
and | break | do | else |
elseif | end | false | for |
function | if | in | local |
nil | not | or | repeat |
return | then | true | until |
while | | |
3、基本的数据类型
Lua中变量无需进行类型定义,默认情况下变量生命域为全局,在Lua中,全局变量不需要事先声明,赋值后即创建,访问没有初始化的变量也不会出错,只是会得到nil,而将一个变量赋值成nil时可以相当于删除了此变量。nil为Lua的基本数据类型的一种,Lua有如下八种数据类型:
类型 | 说明 |
nil | 表示无效,当变量赋值为nil时,可以相当于删除操作(一定要小写) |
boolean | 布尔值:true或false |
string | 字符串:使用单引号或者双引号来表示 |
number | 数字型:双精度类型,double的64位中有52位用于保存精确的int值; 对于需要52位以内的int值,机器的精度不是问题。 |
function | 函数类型 |
thread | Lua中使用coroutine实现类似线程的功能 |
table | 关联数组 |
userdata | 用户自定义类型 |
4、变量的生命域
Lua中默认情况变量生命周期为全局,可以通过local来指定变量生命域。local修饰的变量在函数之外无法取到值。
编写lua1.lua文件,内容如下:
执行结果如下图
5、逻辑控制
执行结果
6、循环控制
for循环
注意for中的步长可以省略,省略情况则默认是1
执行结果如图
while循环
打印结果
repeat...until循环
相当于do ... while
打印结果
7、文件读写
之后会看到test.txt追加了两行文字