如何使用load函数传递一个表参数给函数?

不使用load函数,我会有以下源码:

function dosearch(t)
   t:search()
end

并通过以下方式调用:

dosearch(my_search_t)

但我想使用load函数来评估带有上述代码的字符串。

codestr = "t:search()"
searchfunc = load(codestr)

最后调用它:

function callsearch(t)
  -- 如何使用debug.setupvalue来传递t?
 searchfunc()
end

如何使用debug.setupvalue传递t?

点赞
用户6834680
用户6834680
函数 `dosearch(t)` 的作用等同于以下代码:

dosearch = load [[ local t = ... t:search() ]]


其中,`dosearch(t)` 函数的定义如下:

function dosearch(t) t:search() end ```

2016-11-16 14:28:09