在lua包中获取全局环境
在一些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 然后,按如下方式执行: ─
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
作为参数。是这样吗?