lua的table对象中index和key


myArray = {first = "a", "b", second = "c"}
print(myArray[1], myArray[2], myArray.first, myArray.second, #myArray) -- b nil a c 1
myArray[6] = "d"
print(myArray[1], myArray[2], myArray[6], myArray.first, myArray.second,
#myArray) -- b nil d a c 1

myArray = {first = "a", "b", "b2", second = "c"}
print(myArray[1], myArray[2], myArray.first, myArray.second, #myArray) -- b nil a c 1
myArray[6] = "d"
print(myArray[1], myArray[2], myArray[6], myArray.first, myArray.second,
#myArray) -- b nil d a c 2

结论:
lua的table对象中index和key对象是互不影响的;
而且#table会在不连续定义index的时候断裂,直接取前面获取到的个数:第2个和第四个的#myArray输出可以看出,第一次定义了"b",index为1,后面加了键值对second之后即使赋值了myarray[6],length还是1. 而第二次给myArray赋值定义了"b","b2",是个连续的,所以length就为2.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM