gpt4 book ai didi

lua - setupvalue 和 upvaluejoin 可以互换吗(lua 调试库)?

转载 作者:行者123 更新时间:2023-12-02 03:17:55 25 4
gpt4 key购买 nike

具体来说,以下之间有什么区别(除了 setupvalue 返回名称这一事实之外):

debug.setupvalue(f, up, val)

还有

debug.upvaluejoin(f, up, function() return val end, 1)

(带有 val local)

或之间:

debug.upvaluejoin(f1, n1, f2, n2)

还有

debug.setupvalue(f1, n1, select(2, debug.getupvalue(f2, n2)))

我的印象是 upvaluejoin 增加了一些魔力,但一些测试表明并非如此。

upvaluejoin 只是一些糖来缓解函数重复等吗?

最佳答案

debug.setupvalue(f, up, value)value 设置为函数 f< 的 id up 的 upvalue/

而 debug.upvaluejoin(f1, n1, f2, n2)f1 的第 n1 上值引用到 f2 的第 n2 上值

所以实际上它们是完全不同的东西,而不仅仅是一些糖。

在某些情况下您可以实现相同的结果,但它们绝对不同或只是可以互换。

关于lua - setupvalue 和 upvaluejoin 可以互换吗(lua 调试库)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36944444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com