首页 > 其他 > 详细

Lua面线对象学习

时间:2016-07-24 01:46:12      阅读:263      评论:0      收藏:0      [点我收藏+]
--[[
    
]]

local userdata = {}
local Register = {}

function Register:del(key)
    userdata[self.namespace][key] = nil
end

function Register:get(key)
    if userdata[self.namespace][key] ~= nil then
        return userdata[self.namespace][key]
    else
        return false
    end
end

function Register:set(key, value)
    userdata[self.namespace][key] = value
    return true
end

function Register:new()
    if namespace == nil then
        namespace = default
    end
    if userdata[namespace] == nil then
        userdata[namespace] = {}
    end
    local instance = {
        namespace = namespace,
        del = self.del,
        get = self.get,
        set = self.set
    }
    setmetatable(instance, Register)
    return instance
end

function Register:__newindex(key, value)
    if key ~= nil and value ~= nil then
        userdata[self.namespace][key] = value
    end
end

function Register:__index(index)
    local out = rawget(userdata[self.namespace], index)
    if out then
        return out
    else
        return false
    end
end

return Register

 

Lua面线对象学习

原文:http://www.cnblogs.com/bai-jimmy/p/5699975.html

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