【问题标题】:what do 'load' do in Lua?Lua 中的“加载”是做什么的?
【发布时间】:2018-02-07 00:50:45
【问题描述】:

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

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

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

【问题讨论】:

标签: lua load


【解决方案1】:

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

这应该打印5

【讨论】:

  • 你的意思是使用pcall 得到func() 执行错误吗?
  • 确实;固定的。谢谢!
猜你喜欢
  • 2020-08-24
  • 1970-01-01
  • 2019-02-19
  • 2016-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-19
  • 2011-02-18
相关资源
最近更新 更多