这是示例测试代码。
s="\\command{sample execution}"
u=string.gsub(s,"\\(%b{})",print)
由于打印是全局功能,所以效果很好。我定义了函数myprint,如下所示。
myprint = function(x,y)
return print(x,y)
end
现在命令u=string.gsub(s,"\\(%b{})",myprint)
不起作用。这是因为myprint不像打印一样是全局变量。所以我想问的基本问题是“如何在Lua中为全局变量分配功能?”
您只需要写:
global_function_1 = function (arg)
-- body
end
或使用语法糖替代品:
function global_function_2 (arg)
-- body
end
请确保您执行的那部分没有选择名称的局部变量。例如,以下功能的none是全局的:
local bar
local function foo (arg)
local zee
function arg () end
zee = function () end
function bar () end
end
请注意,我完全忽略了表成员。