码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-08-28 22:54:44      阅读:315      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!