在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
• 使用t[n] = nil方式删除元素会导致意外结果t = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; t[1] = nil; print(getn(t)); -- 10 t = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; t[5] = nil; print(getn(t)); -- 10 t = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; t[10] = nil; print(getn(t)); -- 9 • 混用tremove和[]会导致getn失效t = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; tremove(t, 1); t[10] = 11; print(getn(t)); -- 9 • 混用tinsert和[]会导致getn失效t = {2, 3, 4, 5, 6, 7, 8, 9, 10}; tinsert(t, 1, 1); t[11] = 11; print(getn(t)); -- 10 • 非连续下标的table不能使用getn取得元素个数t = {}; t[2] = 1; t[3] = 2; print(getn(t)); -- 3 t = { aaa = 1, bbb = 2, }; print(getn(t)); -- 0 Lua4.0中getn正确使用规则 遵循以下两条规则来使用Lua 4.0中的顺序表可以保证getn的操作不会失效:
|
请发表评论