变量是全局环境表。 (_G._G == _G)
您不能通过分配给 _G 来更改环境,而是使用 setfenv。
一个全局变量,它是一个包含当前 Lua 解释器版本的字符串。
print (_VERSION) --> Lua 5.1
Asserts that condition is not nil and not false
Lua 实现了一个增量标记清除收集器。它使用两个数字来控制其垃圾收集周期:垃圾收集器暂停和垃圾收集器步骤乘数。
垃圾收集器暂停控制收集器在开始新循环之前等待的时间。较大的值使收集器不那么激进。小于 1 的值意味着收集器不会等待开始新的循环。值为 2 意味着收集器在开始新循环之前等待使用中的总内存翻倍。
step multiplier 控制收集器相对于内存分配的相对速度。较大的值使收集器更具侵略性,但也会增加每个增量步骤的大小。小于 1 的值会使收集器太慢,并可能导致收集器永远不会完成一个循环。默认值 2 表示收集器以内存分配速度的“两倍”运行。
“setpause”和“setstepmul”都将百分比作为参数(因此参数 100 意味着实际值为 1)。当 Lua 启动时,两者都默认为 200(因为它们除以 100,实际上默认值为 2,如上所述)。
collectgarbage (“collect”) --> forces garbage collection
打开命名文件,将其内容作为 Lua 块进行解析和执行。
如果发生错误则引发错误。 返回块返回的任何值。
dofile ("myfile.lua")
function dofile (filename)
local f = assert (loadfile (filename))
return f ()
end -- dofile
使用提供的消息引发错误。 永远不会return。 如果提供了一个级别,则错误指向当前函数(级别 1 或 nil)、父函数(级别 2)等。
返回指定函数 f 使用的当前环境。
f 可以是一个函数或一个代表堆栈级别的数字,其中 1 是当前正在运行的函数,2 是它的父函数,依此类推。
环境是存储“全局”变量的地方。
print (getfenv (1)) --> table: 02072780
print (_G) --> table: 02072780
Returns the metatable for the object
Iterates over a numerically keyed table
Loads a chunk by calling a function repeatedly
Loads a Lua file and parses it
Compiles a string of Lua code
Creates a Lua module
Returns next key / value pair in a table
Traverse all items in a table
Calls a function in protected mode
Prints its arguments
Compares two values for equality without invoking## metamethods
Gets the value of a table item without invoking## metamethods
Sets the value of a table item without invoking## metamethods
Loads a module
Returns items in a list
Sets a function’s environment
Sets the metatable for a table
Converts a string (of the given base) to a number
Converts its argument to a string
Returns the type of a variable
Unpacks a table into individual items
Calls a function with a custom error handler