lua 元表__index 元方法应用1
1 --普通表 2 local tab = {1,2,3} 3 4 --元表 5 local meta = { 6 insert = function(t,v) 7 --监测表增加成员 8 print("增加一个值",v) 9 table.insert(t,v) 10 end, 11 remove = function(t,i) 12 --监测表删除成员 13 print("删除一个值",t[i]) 14 table.remove(t,i) 15 end 16 } 17 18 19 setmetatable(tab,{ 20 __index = meta, 21 __tostring = function(t) return table.concat(t,",") end 22 }) 23 24 tab.insert(tab,4) 25 print(tab) 26 tab.insert(tab,5) 27 print(tab) 28 tab.remove(tab,1) 29 print(tab) 30 tab.remove(tab,1) 31 print(tab)