当前位置 : 主页 > 网络编程 > lua >

关于 lua table表存储函数且运用

来源:互联网 收集:自由互联 发布时间:2021-06-23
--table 是lua的一种数据结构用来帮助我们创建不同的数据类型。如:数组和字典 --lua table 使用关联型数组,你可以用任意类型的值来做数组的索引,但这个值不能是nil --lua table 是不固定

--table 是lua的一种数据结构用来帮助我们创建不同的数据类型。如:数组和字典
--lua table 使用关联型数组,你可以用任意类型的值来做数组的索引,但这个值不能是nil
--lua table 是不固定大小的,你可以根据自己需要进行扩容

这个 table 表 强大,可以存放好多种数据类型

 
 
 
tab1 = {1, 2 ,3} -- 类似数组
tab2 = {"a", "b", "c"}  -- 类似数组
tab3 =  {["a"]="aa", ["b"]="bb"}   -- 键值对


存函数
1.
tb = {}
tb.func = function ()
    print("hanshu")
end

print(tb.func())


2. 判断一个table的元素是否是另一个table的元素(关于函数)
tab={}
tab.a=function ()
    print(1)
    return 1
end
tab.b=function ()
    print(2)
    return 1
end
tab.c=function ()
    print(3)
    return 1
end


local zhi={"a","c"}

for key,value in pairs(zhi) do
    print(key,value)
    for key ,func in pairs(tab) do
        if value == func then
            func()
            print("ok")
        end
    end
end

3. 判断有没有函数
tab={}
function a()
    print(1)
    return 1
end
function b()
    print(2)
    return 1
end
function c()
    print(3)
    return 1
end

local tab={["a"]=a, ["b"]=b, ["c"]=c}

local zhi={"a","c"}

for key,value in pairs(zhi) do
    print(key,value)
    if tab[value] then
        print("ok")
    end
end
网友评论