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

Lua面线对象学习

时间:2016-07-24 01:48:41      阅读:105      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!