lua中实现对一个表的监控
Posted 假于物つ点进客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua中实现对一个表的监控相关的知识,希望对你有一定的参考价值。
监控内容:访问表中的元素和更新表中的元素
代码:
1 local index = {} 2 3 --注意:元表也是表,其中的元素也需要用合理分隔符分开 4 local mt = 5 { 6 __index = function(t,k) 7 print("访问元素:" .. tostring(k)); 8 return t[index][k]; 9 end, 10 11 __newindex = function(t,k,v) 12 print("更新元素: k = ".. tostring(k) .. ", v = " ..tostring(v)); 13 t[index][k] = v; 14 end 15 } 16 17 18 function Track(t) 19 local proxy = {}; 20 proxy[index] = t; 21 setmetatable(proxy,mt); 22 return proxy; 23 end
测试用例:
1 local tab = {a = 12}; 2 tab = Track(tab); 3 tab["a"] = 13 4 print(tab["a"])
输出结果:
以上是关于lua中实现对一个表的监控的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Postgresql 中实现对复杂嵌套 JSONB 的全文搜索