lua遇到的错误

来源:互联网 发布:vb程序设计培训班 编辑:程序博客网 时间:2024/06/06 05:54

table插入一个

local t = {a=1, b=2, c=3}-- table.insert(t,"d=4")  --相当于插入一个字符串,并不是hashlocal m = {}  --直接赋值m.d报错,需要先声明m为一个tablem.d=4t["d"] = 5   --t.d和t["d"]一个意思,但是前面不能加local,否则报错print(t.d)print(m.d)----------54[Finished in 0.1s]

if语句的用法

local x = 10--单个if分支if x > 0 then    print(true)end--两个if分支:if-elseif x > 0 then    print(true)else         --if之后需要加then,else之后    print(false)end--多个分支if x == 0 then    print(0)elseif x > 0 then  --elseif之后要加then,否则报错    print(true)else              --else之后不能加判断语句,否则报错    print(false)   --不能是elseif,也不能加thenendtruetruetrue[Finished in 0.1s]

lua的几种迭代器

标准库提供了几种迭代器,包括用于迭代文件中每行的(io.lines)、 迭代table元素的(pairs)、迭代数组元素的(ipairs)、迭代字符串中单词的(string.gmatch)等。

local id_list = string.gmatch( args.role_auto_id,”(%d+)” )

lua面向对象

local str = "abcde"print("case 1:", str:sub(1, 2))print("case 2:", str.sub(str, 1, 2))print("case 3:", str.sub(str, 1, 2))----------case 1: abcase 2: abcase 3: ab[Finished in 0.1s]
local arr1 = {1, 2, 3, [5]=5}print(#arr1)               -- output: 3local arr2 = {1, 2, 3, nil, nil}print(#arr2)               -- output: 3local arr3 = {1, nil, 2}arr3[5] = 5             --和上面的例子相同,table的长度遇到nil停止print(#arr3)               -- output: 1local arr4 = {1,[3]=2}arr4[4] = 4   --相当于a[3] = 2,suiyou 长度等于arr4[4] = 4的长度,换成arr4[5] = 4就把不行了print(#arr4)               -- output: 4----------3 3 1 4----------do    local arr4 = {1,[4]=2}    arr4[5] = 4    print(#arr4)    print(table.maxn(arr4))end---------------------15[Finished in 0.1s]如果你要删除一个数组中的元素,请使用remove函数,而不是用nil赋值。

表的赋值添加

local a = {a = "b"}print(a.a)a = {b = "c"}   --这里无论是否加local都相当于把table覆盖了,因为table相当于一个变量print(a.a)print(a.b)----------------bnilc
local a = (2==2) print(type(a))  --a是boolean类型if a then    print(type(2==2))    print("asdas")end
结果:booleanbooleanasdas[Finished in 0.2s]
if (2==2) == true then  -- 等于true,但是类型是boolean    print("aaa")endif type(2==2) == true then    print("aaa")end
0 0