覆盖对Lua表元素的访问

时间:2011-06-15 11:44:11

标签: lua

是否可以在lua中覆盖对表元素的访问? F.E.我有一个Lua表TBL = {A = 1,B = 2},当我使用TBL.A而不是获得真正的TBL.A值时,我想调用一些函数。

1 个答案:

答案 0 :(得分:3)

您可以使用metatables来捕获对不存在的元素和其他几个操作的访问。但是,没有办法直接捕获对现有元素的访问,您应该在表上构建代理。

您可以查看this proxy implementation以查看其工作原理并根据您的需求进行调整。