LUA 利用#遍历表的问题
1 tb ={ '0','1',2} 2 t = { 3 "hello", 4 1, 5 2, 6 'w', 7 4, 8 tb 9 } 10 11 --~ 1 hello 12 --~ 2 1 13 --~ 3 2 14 --~ 4 w 15 --~ 5 4 16 --~ 6 table: 001FB1D0 17 for i=1, #t do 18 print(i, t[i]) 19 end 20 21 --~ 1 hello 22 --~ 2 1 23 --~ 3 2 24 --~ 4 w 25 --~ 5 4 26 --~ 6 table: 001FB1D0 27 for k, v in pairs(t) do 28 print(k, v) 29 end 30 31 t1 = { 32 "hello", 33 [1] = 72, --错误 的方式,"hello"的key已经是[1]了,此处无效 34 [2] = 105,--错误 35 'w', 36 [3] = 98,--错误 37 tb 38 } 39 40 --~ 1 hello 41 --~ 2 w 42 --~ 3 table: 001FB1D0 43 for i=1, #t1 do 44 print(i, t1[i]) 45 end 46 47 --~ 1 hello 48 --~ 2 w 49 --~ 3 table: 001FB1D0 50 for k, v in pairs(t1) do-- 51 print(k, v) 52 end 53 54 55 56 t2 = { 57 "hello", 58 [10] = 72, 59 [20] = 105, 60 'w', 61 [30] = 98, 62 tb 63 } 64 print("--------------------") 65 --~ 1 hello 66 --~ 2 w 67 --~ 3 table: 002CB1D0 68 for i=1, #t2 do --#遇到不连续key中断,因此只遍历到[1],[2],[3] 69 print(i, t2[i]) 70 end