10分钟学会Lua(基础)
2016-09-29 本文已影响0人
东林亭下
- Lua变量定义
type variable_list
type
可以选择指定为local,不指定则默认为global,variable_list
是一个或多个有逗号分隔的标识符名字。实例:
local a --申明局部变量a
local i,j --申明局部变量i,j
local e,f = 5,10
y,z = 1,2 --申明全局变量
m,n = 3 --申明全局变量没m,n ,其中m的值为3,n的值为nil
- 数据类型
类型 | 详细描述 |
---|---|
nil | 用于区分是否有数据,nil表示没有数据 |
string | 字符串 |
function | 函数,表示C或者Lua的方法 |
userdata | 表示任意C数据 |
thread | 线程,表示对立执行的线程,常被用来实现协程 |
table | 表,表示一般的数组,符号表,集合,记录,图,树等等,它还可以实现关联数组。它可以存储除了 nil 外的任何值。 |
print(type("hello")) --> string
t=10
print(type(5.8*t))
print(type(true))
print(type(print))
print(type(type))
print(type(nil))
print(type(type(ABC)))
输出结果如下:
string
number
function
function
boolean
nil
string
注意: Lua 中空字符串和零在条件检查时,都被当作真。所以你在使用布尔运算的时候要特别注意。
-
操作符
1.算术运算操作符
操作符 | 描述 | 示例 |
---|---|---|
== | 判断两个操作数是否相等,若相等则条件为真,否则为假。 | (A == B) 为假 |
~= | 判断两个操作数是否相等,若不相等则条件为真,否则为假。 | (A ~= B) 为真 |
> | 如果左操作数大于右操作数则条件为真,否则条件为假 | (A > B) 为假 |
< | 如果左操作数小于右操作数则条件为真,否则条件为假 | (A < B) 为真 |
>= | 如果左操作数大于或等于右操作数则条件为真,否则条件为假 | (A >= B) 为假 |
<= | 如果左操作数小于或等于右操作数则条件为真,否则条件为假 | (A <= B) 为真 |
2.逻辑运算符
操作符 | 描述 | 示例 |
---|---|---|
and | 逻辑与运算符。如果两个操作数都非零,则条件为真 | (A and B) 为假 |
or | 逻辑或运算符。如果两个操作数中其中有一个非零,则条件为真 | (A or B) 为真 |
not | 逻辑非运算符。翻转操作数的逻辑状态。如果条件是真,则逻辑非运算符会将其变成假 | !(A and B) 为真 |
3.其它操作符
操作符 | 描述 | 示例 |
---|---|---|
.. | 连接两个字符串 | 若 a 为 "Hello",b 为 "World",则 a..b 返回 "Hello World"。 |
# | 一元运算符,返回字符串或者表的长度。 | #"Hello" 返回 5 |
4.操作符优先级
下面的表中,从上到下优先级递减。在每个表达式中,高优先级操作数先运算:
分类 | 操作数 | 结合性 |
---|---|---|
一元运算符类 | not # - | 从右至左 |
连接运算符 | .. | 从右至左 |
乘除运算符类 | * / % | 从左至右 |
加减运算符类 | + - | 从左至右 |
关系运算符类 | < > <= >= == ~= | 从左至右 |
逻辑与运算符 | and | 从左至右 |
逻辑或运算符 | or | 从左至右 |