lua教程(一)基本语法和变量
基本语法
注释
单行注释
1 | |
多行注释
多行注释嵌套是非法的,会解析失败。
1 | |
标识符
区分大小写,^[A-Za-z_][A-Za-z0-9_]*
最好不要使用下划线加大写字母的标识符,因为Lua的保留字也是这样的。
关键字
1 | |
全局变量
lua默认的变量都是全局的,使用 local 关键字声明的变量才是局部变量。
要删除某个变量,可以将其设置为 nil。
1 | |
lua数据类型
Lua有八种基本数据类型:nil, boolean, number, string, function, userdata, thread, table。
其中 nil 表示无效值,boolean 表示布尔值,number 表示数字,string 表示字符串,function 表示函数,userdata 表示用户数据,thread 表示线程,table 表示表格。
nil
nil 是一个特殊的值,表示无效值。它是 Lua 中唯一的值,表示没有值或不存在的值。
如果对一个表的字段赋值为 nil,则该字段会被删除。
1 | |
boolean
boolean 表示布尔值,只有两个值:true 和 false。在 Lua 中,除了 false 和 nil 以外的所有值都被认为是 “真”(truthy)的。
** 0 和空字符串 “” 也是 “真” 的值。**
number
lua 只有一个数字类型,表示双精度浮点数。
1 | |
string
字符串是由零个或多个字符组成的序列,可以使用单引号、双引号或双方括号来定义字符串。
1 | |
table
table 是 Lua 中唯一的数据结构,可以用来表示数组、字典、对象等各种数据结构。table 是一个关联数组,可以使用任何类型的值作为键和值。
1 | |
function
函数也是一种数据类型,可以像其他值一样被赋值、传递和返回。函数可以使用 function 关键字定义,也可以使用匿名函数。
1 | |
thread
线程是 Lua 中的一种协程,可以用来实现并发编程。线程可以使用 coroutine 库来创建和管理。
1 | |
userdata
用户数据是 Lua 中的一种特殊类型,用于表示 C 语言中的数据结构。用户数据可以通过 C 语言的 API 来创建和操作,通常用于扩展 Lua 的功能。
以后试试!
变量
lua 变量有三种类型:全局变量、局部变量和upvalue变量。全局变量在整个程序中都可见,局部变量只在其所在的块内可见,upvalue变量是一个函数内部的局部变量,可以被外部函数访问。
1 | |
赋值语句
lua 支持多变量赋值,可以同时给多个变量赋值。
1 | |
如果赋值的变量数量和表达式的数量不匹配,Lua 会将多余的变量赋值为 nil,或者忽略多余的表达式。
1 | |
lua 会先计算所有的表达式,然后再进行赋值操作。
1 | |
索引
lua 使用方括号 [] 来访问表的字段,可以使用任何类型的值作为键。
1 | |