首页 > 其他 > 详细

(原创) cocos2d-x 3.0+ lua 学习和工作(4) : 公共函数(8): 生成只读table

时间:2014-10-16 20:37:24      阅读:200      评论:0      收藏:0      [点我收藏+]

这个函数的作用是:生成只读table。

--[[ 
-- 生成只读table
-- @param table t 需要不允许修改的table
    example:
    local tb = {"星期一", "星期二", "星期日"}    
    local days = readOnly( tb );

    days[2] = "星期三哪去了啊?" ;
    "[string \"Functions.lua\"]:466: 别修改我!我是只读的!"
--]] 

function readOnly( t )
    local newT = t
    local mt = {
        __index = {},  -- 如果改成  newT = {}, __index = t,  会导致无法直接使用for循环遍历,其他遍历我没有试过~~(小白:好懒~~~)
        __newindex = function()
            error( "别修改我!我是只读的!" )
        end
    }
    setmetatable( newT, mt )
    return newT
end

 

作者使用 cocos2d-x 3.0 + lua学习和工作心得,未经作者允许,请勿转载!在此谢谢各位手下留情~~~

本文没有获得作者本人同意,不得转载,否则必追究相关责任。转载请注明出处!!~~

原文地址:http://www.cnblogs.com/wodehao0808/p/4029509.html

(原创) cocos2d-x 3.0+ lua 学习和工作(4) : 公共函数(8): 生成只读table

原文:http://www.cnblogs.com/wodehao0808/p/4029509.html

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