一、规范
1. 添加注释
- 单行注释
--
- 多行注释
--[[ --]]
2. 标识符
- 不能以数字开头
- 避免使用以一个下划线开头加一个或多个大写字母的标识符
- 区分大小写
3. 变量作用域
全局变量
二、值与类型
Lua 是一门动态类型语言
。这意味着变量没有类型;只有值才有类型。
语言中不设类型定义,所有的值携带自己的类型。
8中基本类型
nil、boolean、number、string、userdata、function、thread和table
以上待更新
运算符
不支持+= -= *= /=
这种复合运算符
For语句
两种形式:数字形式,通用形式
- 数字形式:
--[[
exp为表达式
exp1结果为initial value
exp1结果为limit value
exp1结果为step value
--]]
for name = exp1,exp2,exp3 do
block;
end
- block 将把 name 作循环变量,从第一个 exp 开始起,直到第二个 exp 的值为止,其步长为第三个 exp 。
- 如果第三个表达式(步长)没有给出,默认把步长设为 1
- 三个控制表达式只运行一次,表达式的运算在循环开始之前,这些表达式的结果必须是数字。
- 通用形式
迭代器
* 每次迭代,迭代器函数都会被调用以产生一个新的值,
当这个值为 nil 时,循环停止*for varlist in explist do block* end
- explist 只会被计算一次。它返回三个值, 一个 迭代器 数,一个 状态,一个 迭代器的初始值。
- varlist 是一个或多个以逗号分割的变量名列表。变量列表中第一个变量为控制变量,其值为nil 时循环结束。很多情况下变量列表也只有一个变量。
-
exp-list 是一个或多个以逗号分割的表达式列表。通常情况下
exp-list 只有一个值:迭代工厂的调用 - 对于for结构来说,状态常量没有用处,仅仅在初始化时获取他的值并传递给迭代函数