首页 > 其他 > 详细

Lua中只读表和只允许修改表

时间:2015-08-28 22:52:36      阅读:474      评论:0      收藏:0      [点我收藏+]

Lua中的table表非常灵活强大,可以随时加入和修改,但有时在多人协作和

一些项目中有些凌乱,我们可以利用元表的性质来保护我们的一些表格。

1.Lua中的只读表

 function ReadOnlyTable (t)
  local proxy = {}
  local mt = {
   __index = t,
   __newindex = function (t,k,v)
    error("attempt to update a read-only talbe",2)
   end
  }
  setmetatable(proxy,mt)
  return proxy

2.只允许查改操作的表

 1  local function ReadUpdateOnly (t)
 2    local proxy = t or {}
 3    local mt = {
 4     __newindex = function (t,k,v)
 5        error("只能初始化时对该表定义",2)
 6     end
 7    }
 8    setmetatable(proxy,mt)
 9    return proxy
10  end

 

Lua中只读表和只允许修改表

原文:http://www.cnblogs.com/bankyh/p/4767958.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!