Lua封装map


map = {}

local this = map

function this:new()
    o = {}
    setmetatable(o,self)
    self.__index = self
    self.count = 0
    return o
end

function this:insert(k,v)

    if nil == self[k] then
        --table.insert(self,{a = b})
        self[k] = v
        self.count = self.count + 1
        print("insert")
    end
    print("insert end")
end

function this:remove(k)
    if nil ~= self[k] then
        self[k] = nil
        if self.count >0 then
            self.count = self.count - 1
        end
    end
end

function this:getpair(k)
    local value = nil
    if nil ~= self[k] then
        value = self[k]
        print("getpair")
    end
    return value
end

function this:clear()
    for k,_ in pairs(self) do
        if nil ~= self[k] then
            self[k] = nil
        end
    end
    self.count = 0
end

local characters = map:new()

characters:insert("name1"," this Name:123")
characters:remove("name1")
characters:insert("name2","this Name:2")

local name2 = characters:getpair("name2")
print(name2)

print(characters.count)

for k,v in pairs(characters) do
    print(k,v)
end

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值