文章目录
零、前言
小盆友从今天开始会不定时分享一些 Lua 学习笔记,还是老规矩文章会结合代码,讲解会融入自己的理解和工作中遇到的问题。
但毕竟是基础使用和语言性的使用,所以会少一些趣味性,话不多说,就从现在开始吧。
一、注释
1-1、单行注释
-- xxxx
1-2、多行注释
标准的多行注释如下
--[[
多行注释
多行注释
]]
但是建议使用如下注释
--[[
被注释的代码
--]]
因为这样只要在第一个注释中加多一个 -
即可打开被注释的代码
---[[
被注释的代码(会被执行)
--]]
因为 ---[[ --]]
这样的格式不满足多行注释,所以被解释为各自一行注释,所以最后一行需要多写两个 --
二、标识符
- 最好不要使用下划线加大写字母的标示符,因为 Lua 的保留字也是这样的,避免冲突。
- Lua 是一个区分大小写的编程语言,所以
and
是保留字,但And
和AND
却可用。
三、全局变量
- 在默认情况下,变量总是认为是全局的。
- 全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil。
print(b) --> nil
b = 10
print(b) --> 10
- 通过将变量赋值为 nil,进行删除一个变量,Lua 会进行回收该变量所占用的内存
b = 10
print(b) --> 10
b = nil
print(b) --> nil
当且仅当一个变量不等于 nil 时,这个变量即存在。
四、数据类型
Lua 是一个动态类型语言,不存在类型定义,值带有自身的类型信息。
4-1、类型
数据类型 | 描述 |
---|---|
nil | 只有值 nil 属于该类,表示一个无效值(在条件表达式中相当于false)。 |
boolean | 包含两个值: false 和 true 。 |
number | 表示双精度类型的浮点数和整型 |
string | 字符串由一对双引号或单引号来表示 |
function | 由 C 或 Lua 编写的函数 |
userdata | 表示任意存储在变量中的 C 数据结构 |
thread | 表示执行的独立线路,用于执行协同程序 |
table | 表,是一个"关联数组"(associative arrays),数组的索引可以是数字、字符串或表类型。 |
具体每项的使用和特征会在后面的文章分享。
4-2、获取类型
通过 type
获取具体的类型,返回的是字符串
print("nil",type(nil)) --> nil nil
print("boolean",type(true)) --> boolean boolean