Lua-在不使用带有2个单独脚本的调试库的情况下获取本地化的变量或函数

时间:2018-07-28 18:19:53

标签: lua

好吧,所以我使用的是面向对象的环境,我可以制作几个可能相互连接或不相互连接的脚本,这取决于我是否希望它们连接,并且我想获得一个本地化的功能。 local myfunc = function() end来自另一个可以处理代码的对象,从现在开始,我将这些对象称为“脚本”,因为它们在游戏中被称为它们,并且很容易被我用来告诉别人我在说什么即使它们没有被正式用作暗示这种事情的名称。

所以可以说我的脚本1带有以下代码:

local myfunc = function() return true end

并且我有一个带有空白工作表的脚本2,我想制作它,这样我就可以在不接触调试库的情况下获取myfunc,将原始脚本作为模块脚本并返回该函数,并且必须保留在2个单独的脚本中。如果您想知道,这就是所有要求。我希望可以做到这一点,并希望那里的人了解如何有效地进行此类清洁工作!

2 个答案:

答案 0 :(得分:1)

局部变量的全部要点是它是 local ;其他人无法触摸。让一个脚本从另一个脚本访问数据的传统方式是模块或全局变量。您已经声明不能/不会做的两个选项。

您的要求将可能的解决方案集合减少为零。

答案 1 :(得分:0)

Lua块可以包含return条语句。要返回一个函数:

return function()
  return true
end

要返回具有多个功能的表:

return {
  myFunc = function()
    return true
  end,
  myOtherFunc = function()
    return false
  end,
}