首页 > 代码库 > LUA table

LUA table

1 table实现介绍

脚本table中的元素在c中是分两个地方存放的,即数组与hash表。table中元素的位置也不是一直固定的,它会根据table被修改的情况动态改变。下面分两种情况说一下table的特点,我们首先要知道在lua中,索引值可以为负数也可以为正数,当为负数的话,top为-1,当为正数第一个压入栈的元素为1,依此类推,如果构造table的时候指定了key的值,不管key是何值,也会将key进行hash。比如

t1 =
{
[1] = 100,
[2] = 200,
[3] = 300,
}

只有构造table时不指定key值,这些value才会放在数组段。比如
t2 = {100, 200, 300}

 

2 表访问的一些规则

  • table支持几乎是所有类型的下标包括函数
  • 对于字符串下标,我们可以省略方框和双引号,但是数字下标不可以
  • table默认的第一个索引下标是1,如果没有指定下表,就只能通过索引值来访问表的成员

 

LUA table