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

Lua-table常用操作

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

1.table 是不固定大小的,你可以根据自己需要进行扩容。

2.通过table来解决模块(module)、包(package)和对象(Object)的。

声明table

  • 声明表

mytable = {} - -声明一个空的表
mytable = {key1 = “value1”,key2 = “value2”} - - 键值对的形式
mytable = {“value1”,“value2”} - -数组的形式,Lua下标是以1开始的

  • 访问表

mytable.key1 = “hello” - -适用于键值对
mytable[“key2”] = “world” - -适用于键值对
mytable[1] = 34 – 适用于数组的形式

  • 移除引用

mytable = nil - - lua 垃圾回收会释放内存

当我们为 table a 并设置元素,然后将 a 赋值给 b,则 a 与 b 都指向同一个内存。如果 a 设置为 nil ,则 b 同样能访问 table 的元素。一个内存没有指定的变量的时候,Lua的垃圾回收机制会清理相对应的内存。

Table 操作函数

Table遍历

array = {1,2,3,4,5,6}

方法一

for k,v in pairs(array) do
	print(k,v)
end

方法二

for k,v in ipairs(array) do
	print(k,v)
end

遍历数组

for i = 1 , #(array) do
	print(array[i])
end

注意:

当我们获取 table 的长度的时候无论是使用 # 还是 table.getn 其都会在索引中断的地方停止计数,而导致无法正确取得 table 的长度。

function table_leng(t)
  local leng=0
  for k, v in pairs(t) do
    leng=leng+1
  end
  return leng;
end

鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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