lua基础知识(二) 流程控制

1.循环
while
for var=exp1,exp2,exp3 do
<执行体>
end

for
for var=exp1,exp2,exp3 do
<执行体>
end
exp1是初值,exp2是终点值,exp3是步长

repeat until –重复直到条件为真
repeat
statements
until( condition )

break
goto 这个别用,那天睡觉的时候我突然想明白了,当时做车的时候用goto语句会出错,是因为goto语句再使用的时候可能没有处理好PC和SP寄存器的值,导致程序运行出现严重的错误。

2.if
if(布尔表达式)
then
–[ 在布尔表达式为 true 时执行的语句 –]
end –这个是VB中的表达方式

lua基础知识(一)

1.全局变量的删除
off = 1
off = nil
这样off变量就删除了,如果再次调用就是nil,在表达式中相当于false
节省堆栈的空间

2.lua的数据类型
print(type(“Hello world”)) –> string 字符串
print(type(10.4*3)) –> number 数字 整数和小数
print(type(print)) –> function 函数
print(type(type)) –> function
print(type(true)) –> boolean 布尔值
print(type(nil)) –> nil 空值
print(type(type(X))) –> string

3.nil在比较的时候需要注意
x = nil
type(x) == nil
结果是false,为什么呢?是因为type的返回值是一个字符串,字符串和nil相比较是假。
所以要
type(x) == “nil”
这样比较才是对的

4.数字字符串和数字运算的时候lua编译器会把字符串转换成数字,再与数字相加
> print(“2” + 6)
8.0
> print(“2” + “6”) –这个太变态了,甚至两个数字字符串相加还是相加成一个数字 !!!!!!!!!!!变态啊!!!!!!!
8.0
> print(“2 + 6”)
2 + 6

5.lua中字符串相加是 ..

6.table 表
这个跟python中的字典很像,不说了
不过lua中索引是从1开始的,不是从0开始的

7.local关键字
local是定义一个局部变量的意思

Linux安装Lua环境

要安装两个驱动

然后在

使用lua命令就可以使用lua环境了

顺便一说

用windows开发lua就是垃圾!