1.运算符
^表示乘幂 10^10 = 100
~= 表示不等于
2.逻辑运算符
and or not
1.运算符
^表示乘幂 10^10 = 100
~= 表示不等于
2.逻辑运算符
and or not
函数
local/无 function 函数名称(形参)
主体
return 返回值
end
在function之前定义local表示这个函数是局部变量
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中的表达方式
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是定义一个局部变量的意思
要安装两个驱动
1 2 3 |
sudo apt-get install libreadline5 sudo apt-get install libreadline-gplv2-dev |
然后在
1 2 3 4 5 |
<span class="pln">curl </span><span class="pun">-</span><span class="pln">R </span><span class="pun">-</span><span class="pln">O http</span><span class="pun">:</span><span class="com">//www.lua.org/ftp/lua-5.3.0.tar.gz</span><span class="pln"> tar zxf lua</span><span class="pun">-</span><span class="lit">5.3</span><span class="pun">.</span><span class="lit">0.tar</span><span class="pun">.</span><span class="pln">gz cd lua</span><span class="pun">-</span><span class="lit">5.3</span><span class="pun">.</span><span class="lit">0</span><span class="pln"> make linux test make install</span> |
使用lua命令就可以使用lua环境了
顺便一说
用windows开发lua就是垃圾!