小编use*_*203的帖子

lua:关于本地范围的模块导入

有两个脚本文件包含以下脚本

//parent.lua
function scope()
    local var = "abc"

    require "child"
end

//child.lua
print(var)
Run Code Online (Sandbox Code Playgroud)

这样,child.lua将打印一个nil值,因为parent.lua中的作用域不会将其本地功能公开给模块.我认为会这样,因为在此范围内和var声明之后声明了require指令.我的愿望是将孩子的所有行完全注入父母.只是导出子脚本以提高可读性.我如何通过本地范围?loadfile()不起作用,也没有dofile().函数环境fenv不包含本地值.debug.setlocal()似乎无法创建新变量(也需要子进程中的接收器).除了重新编译脚本之外的任何方法?

embed lua scope module local

5
推荐指数
1
解决办法
754
查看次数

标签 统计

embed ×1

local ×1

lua ×1

module ×1

scope ×1