约 840 字

约 4 分钟

#Lua 的 load 函数

load (chunk [, chunkname [, mode [, env]]])

说明

加载代码块 chunk,将其作为函数返回。

参数

  • chunk - 要加载的代码块;如果是字符串则直接加载,如果是函数则重复调用直到返回空字符串或 nil
  • chunkname - 代码块名称,用于错误信息和调试信息
  • mode - 可以是字符串 "b"(仅限二进制块)、"t"(仅限文本块)或 "bt"(二进制和文本块)。默认值为 "bt"
  • env - 生成的函数的上值,如果没有这个参数,则上值设为全局环境 _G 的值

返回值

  • 成功时返回编译代码块产生的函数
  • 失败时返回 nil 和错误信息

#示例

-- 上值
local env = {
    x = 10,
    y = 20
}

-- 加载代码块
local func, message = load("return x + y", "demo", "bt", env)

if func == nil then
    error(message)
else
    -- 调用代码块
    local result = func()
    print(result)
end

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

#推荐阅读

load - Lua 5.4 Reference Manual

更新: 2026/2/6

作者: PlanC

创建: 2025/10/30