当前位置 : 主页 > 网络编程 > lua >

附加到函数lua

来源:互联网 收集:自由互联 发布时间:2021-06-23
我有一个函数,我想在程序运行时动态添加. 假设我有Foo功能: function foo() Function1() Function2() Function3()end 我想将Foo()更改为: function foo() Function1() Function2() Function3() Function4()end 后来在该计
我有一个函数,我想在程序运行时动态添加.

假设我有Foo功能:

function foo()
    Function1()
    Function2()
    Function3()
end

我想将Foo()更改为:

function foo()
    Function1()
    Function2()
    Function3()
    Function4()
end

后来在该计划中.有没有办法做到这一点?

去做就对了.你写的代码工作得很好. Lua中的函数可以根据需要重新定义.

如果你不知道foo做了什么,你可以这样做:

do
  local old = foo
  foo = function () old() Function4() end
end

或者使用功能表可能更清楚:

local F={ Function1, Function2, Function3 }

function foo()
  for i=1,#F do F[i]() end
end

后来,做

F[#F+1]=Function4

而且你不需要重新定义foo.

网友评论