lua--表table与元表metatable、元方法
table
table是lua强大的数据结构,可以运用在大部分场景。
我们先简单的看下table的使用方式。
使用table存储数组
a = {
} --这是一个名为a的空table
b = {
1,2,3,4,5} --这是一个可以表示含有五个递增元素的数组的table
print(b[1]) --b[1]的值为1,PS:!!!lua的数组下标是从1开始而不是0
b[6] = 6 --此时table含有的数组由5个长度变成6个长度(是的,与其他语言的vector类似动态分配)
print(#b) --此处打印6,我们可以通过使用#获取b的数组部分长度
使用table存储键值对(hash结构)
c = {
}
c.key1 = 'value1' --我们可以通过 . 添加键值对
c['key2'] = 'value2' --也可以通过[str]添加键值对
c['2'] = 2 --注意这里['2']与数组的[2]是不同的,'2'被作为字符串键处理了
print(c.key1, c['key2'