Lua 中的“加载”做什么?

mr.*_*eed 4 lua load

我试图解决我load在 Lua Scripts中理解函数的问题,但没有任何关于此命令的示例或指南。它在他自己的 Lua 网站https://www.lua.org/manual/5.2/manual.html#pdf-load 中说明:

load (ld [, source [, mode [, env]]])

有人可以向我描述一下吗?

Pau*_*nko 6

load接受一个块,编译它,然后作为一个函数返回,该函数可以被调用来执行该块。例如,以下将创建一个将add两个数字放在一起的函数:

local func, err = load("return function(a,b) return a+b end")
if func then
  local ok, add = pcall(func)
  if ok then
    print(add(2,3))
  else
    print("Execution error:", add)
  end
else
  print("Compilation error:", err)
end
Run Code Online (Sandbox Code Playgroud)

这应该打印5.