游戏开发实习笔记:修改接口时的注意事项

修改接口时的注意事项

有时候我们需要修改接口来满足自己的需求,例如这段代码中只提供了根据key值寻找value:

local tab = {
    a = "A",
    b = "B"
}

function searchSomething(key)
    return tab[key]
end

print(searchSomething("a"))

如果我们还需要通过value来寻找key值呢?

function searchSomething(key)
    return tab[key]
end

function searchSomething(value)
    for k,p in pairs(tab) do
        if p == value then
            return k
        end
    end
    return k
end

print(searchSomething("A"))--a
print(searchSomething("a"))--nil

有的语言例如C++和C#中支持函数重载,可以定义两个不同参数的同名函数,但在lua中并不支持,名字相同的两个函数,哪个晚定义就会执行哪个,比如上面的代码中根据key寻找value的函数已经失效了。我们可以定义一个不同名字的函数或者修改原来的接口:

function searchSomething(key, value)
    if value then
        for k,p in pairs(tab) do
            if p == value then
                return k
            end
        end
    end

    return tab[key]
end

print(searchSomething("b"))--B
print(searchSomething("b", "A"))--a

需要注意的是在添加参数时需要在函数中增加判断,如果参数不为空才执行相应的逻辑,修改接口时不能让原有的调用失效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值