31、Lua 函数回调技巧

本文分享了两个实用的Lua编程技巧,包括如何通过table调用函数以及使用和扩展unpack函数来高效处理数组数据。学习这些技巧可以帮助开发者编写更简洁、高效的Lua代码,提升脚本性能。

技巧1:

local a = {};function b()    print("Hello World")enda["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)endprint(unpackex({one = {"one", "two", "three"}, two = "T" , three = "TH"},{"one", "two", "three"}))

输出:» table: 00ABC2D0TTH