Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在lua包中获取全局环境_Lua_Package_Global - Fatal编程技术网

在lua包中获取全局环境

在lua包中获取全局环境,lua,package,global,Lua,Package,Global,在一些lua包文件的开头,有时会出现行localbase=\u G或localbase=… 这样做有什么好处 这两条线有什么区别 关于第一个问题,您可以参考: 对于你的第二个 这两条线有什么区别 如果执行localbase=\u G,则将base指定为全局环境表的同义词。另一方面,在语句localbase=…;…指的是lua 可以通过以下示例更详细地显示: local a = {...} for k, v in pairs(a) do print(k, v) end 然后,按如下方式执行: ─

在一些lua包文件的开头,有时会出现行
localbase=\u G
localbase=…

  • 这样做有什么好处
  • 这两条线有什么区别

  • 关于第一个问题,您可以参考:

    对于你的第二个

    这两条线有什么区别

    如果执行
    localbase=\u G
    ,则将
    base
    指定为全局环境表的同义词。另一方面,在语句
    localbase=…
    指的是lua

    可以通过以下示例更详细地显示:

    local a = {...}
    for k, v in pairs(a) do print(k, v) end
    
    然后,按如下方式执行:

    ─$ lua temp.lua some thing is passed "here within quotes"
    1       some
    2       thing
    3       is
    4       passed
    5       here within quotes
    
    如您所见,
    只是传递给程序的参数列表。现在,当你

    local base = ...
    

    lua将第一个参数指定给变量
    base
    。上述语句中将忽略所有其他参数。

    可能重复@hjpotter92,但第二个问题呢?
    local base=…
    表示变量
    base
    的值(全局表?)应位于此脚本的第一个参数中,因此在加载包文件时,需要使用第二条语句传递
    \G
    作为参数。是这样吗?