单行:--
多行:--[[ ]]
- --[[arr={key1="val1",key2="val2",key3="val3"}
- for k,v in pairs(arr) do
- print(k.."->"..v)
- end]]
函数一定要调用才有效



~=
没有&&,||这些符号,只用字母

注意,第一个结果为true--->才可以输出第二个非布尔值
如果第一个为false 则输出false

false才输出


不能合并输出数据和变量,一定要用..连接发送
lua没有自增,自减
可以在外部作为局部使用
不需要括号






注意:
1,for循环中一定要定义变量,不能只利用数值
- i=1
- j=1
-
-
- print(i)
- for 1,100 do
- print(j)
- tmp=j
- j=i+j
- i=tmp
- end
-
- --报错
2,初始值加上步长,终止值是满足条件的


local k=""
Lua中的变量每一个时刻都和数据类型无关,前面可以是字符串,后面可以用于整形
local var="abc"
var=100
和数组很像,但是比数组更灵活
定义表时,不要加上[ ]
索引从1开始
表中可以存储不同数据类型




- funcArray={}
-
- funcArray.printName=function()
- print("I am laoda")
- end
- funcArray.printAge=function()
- print("I am 23")
- end
-
- funcArray.printName() --调用必须用点
- funcArray.printAge()
1,

2,


remove会返回删除的元素
- del=table.remove(array,2)
- print(del)
table.sort()---升序排序


函数会出栈,节约时间
lua中迭代器本身就是一个函数

- arr={key1="val1",key2="val2",key3="val3"}
-
- for k,v in pairs(arr) do
- print(k.."->"..v)
- end
-
- pairs()就是迭代器

- ---[[自己实现的迭代器函数]]
-
- function myPairs(arr)
- return doPairs,arr,0 --只需要函数名
- end
-
- function doPairs(arr,i)
- i=i+1;
- local val=arr[i]
- if val then
- return i,val
- else
- return nil,nil
- end
- end
-
- array={1,2,3,4,5}
-
- for k,v in myPairs(array) do
- print(k.."->"..v)
- end



- arr={1,2,3,4}
-
- print(table.concat(arr)) --输出所有元素
- print(table.concat(arr," ",2,4)) --空格分隔,输出2到4的元素


- arr={1,2,3,4}
-
- mySort=function(a,b)
-