826

4 分钟

#Lua 的 loadfile 函数

loadfile ([filename [, mode [, env]]])

说明

filename 文件中加载代码块,将其作为函数返回。

参数

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

返回值

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

#示例

-- 写文件 local file = io.open("/tmp/demo.lua", "wb") file:write([[ print('我是文件') return x + y ]]) file:close() -- 上值 local env = { print = print, x = 10, y = 20 } -- 加载代码块 local func, message = loadfile("/tmp/demo.lua", "bt", env) if func == nil then error(message) else -- 调用代码块 local result = func() print(result) end

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

#推荐阅读

loadfile - Lua 5.4 Reference Manual

创建于 2025/10/3

更新于 2025/10/3