• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

关于luatable表

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

 

一、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
输出结果:
1
a 2 c


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
输出结果:
1
a 1 ok 2 c 3 ok

 

2、lua 的table的 遍历

  pairs遍历表中全部key,value.
  ipairs从下标为1开始遍历,然后下标累加1,如果某个下标元素不存在就终止遍历。这就导致如果下标不连续或者不是从1开始的表就会中断或者遍历不到元素。

local tt ={[1] = "test3",[4] = "test4",[5] = "test5"}

for i,v in pairs(tt) do        -- 输出 "test4" "test3" "test5"
    print( tt[i] )
end

for i,v in ipairs(tt) do    -- 输出 "test3" k=2时断开
    print( tt[i] )
end

----------------------------------------------------
tbl = {"alpha", "beta", [3] = "uno", ["two"] = "dos"}

for i,v in ipairs(tbl) do    --输出前三个
    print( tbl[i] )
end

for i,v in pairs(tbl) do    --全部输出
    print( tbl[i] )
end

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Cocos2d-xLua中实例:帧动画使用发布时间:2022-07-22
下一篇:
Lua程序设计(一)面向对象概念介绍发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap