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,如果没有指定下表,就只能通过索引值来访问表的成员
时间: 2024-11-18 06:50:27