本文共 1044 字,大约阅读时间需要 3 分钟。
Lua 是动态类型语言,变量不需要类型定义。Lua中有8个基本类型可以使用type()函数来探测"值"对应的类型
关键词 | 类型 | 说明 |
---|---|---|
nil | nil | 变量在没有被赋值前的默认值,给变量赋值nil相当于删除变量 |
boolean | 布尔类型 | true或false. 在控制结构的条件判决语句中false和nil为假,其余值都为真所以在Lua中0和空串的判断是为真 |
number | 数字类型 | 在Lua没有区分整数或浮点数 |
string | 字符 | 字符一经创建是不可以修改的,Lua可自动进行内存与释放。可使用单引号,双引号和[[ ]]来表示 |
function | 函数 | 由C或Lua编写的函数 |
userdata | 自定义类型 | userdata可以将C数据存放在Lua变量中,userdata在Lua中除了赋值和相等比较外没有预定义的操作 |
thread | 线程 | 表示执行的独立线程 |
table | 数组、容器 | Lua 中的表(table)其实是一个"关联数组"(associative arrays),数组的索引可以是数字或者是字符串。在 Lua 里,table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表 |
加: + 减: - 乘: * 除: / 幂: ^
> : 大于 >= : 大于等于 < : 小于 <= : 小于等于 == : 相等 ~= : 不相等
逻辑运算符认为false和nil是假(false); 其他为真,0也是真and : 注意不是我们一般意义上讲的并且意思了or : 注意不是我们一般意义上讲的或者not : 取反and和or的运算结果不是true和false,而是和它的两个操作数相关a and b -- 如果a为false,则返回a,否则返回ba or b -- 如果a为true,则返回a,否则返回b示例说明:print(10 and 20 ) -> 20print(nil and 20) -> nilprint(10 or 20) ->10print(nil and 20) -> 20 print(not nil) ->trueprint(not 0)->false三元运算符(a and b) or c
用两个点表示: ..print('a'..'b') ->'ab'
5.优先级
^not - (unary)* /+ -..< > <= >= ~= ==andor
转载地址:http://twadi.baihongyu.com/