lua 函数回调技巧

最后更新于:2022-04-01 10:07:35

## 技巧1: ~~~ local a = {}; function b() print("Hello World") end a["sell"] = {callFunc =b} a["sell"].callFunc() ~~~ # ## 技巧2: 使用lua 自带的 unpack : 解释:把一直数组(只有连续数字下标的 table)展开成一串返回值,但是对用字符串或别的东西做 key 的 table 无能为力。 ~~~ function unpackex(tbl, args) local ret = {} for _,v in ipairs(args) do table.insert(ret, tbl[v]) end return unpack(ret) end print(unpackex({one = {"one", "two", "three"}, two = "T" , three = "TH"},{"one", "two", "three"})) ~~~ 输出:>>  table: 00ABC2D0TTH
';