学习
引擎全域
Luau globals

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处。


摘要

职能
assert(value: Variant,errorMessage: string):Variant
collectgarbage(operation: string):Variant
已弃用
error(message: Variant,level: number):()
getfenv(stack: Variant):table
已弃用
getmetatable(t: Variant):Variant
loadstring(contents: string,chunkname: string):Variant
newproxy(addMetatable: boolean):userdata
next(t: table,lastKey: Variant):Variant,Variant
pcall(func: function,args: Tuple):boolean,Variant
print(params: Tuple):()
rawequal(v1: Variant,v2: Variant):boolean
rawget(t: table,index: Variant):Variant
rawset(t: table,index: Variant,value: Variant):table
require(module: ModuleScript | string | number):Variant
select(index: Variant,args: Tuple):Tuple
setfenv(f: Variant,fenv: table):Variant
已弃用
setmetatable(t: table,newMeta: Variant):table
tonumber(arg: Variant,base: number):Variant
tostring(e: Variant):string
type(v: Variant):string
unpack(list: table,i: number,j: number):Variant
xpcall(f: function,err: function,args: Tuple):boolean,Variant

API 参考
职能
assert
assert(
value:Variant, errorMessage:string
):Variant
参数
value:Variant
errorMessage:string
默认值:assertion failed!
返回
Variant
代码示例
断言
local product = 90 * 4
assert(product == 360, "哦,乘法出错了")
-- 上面的行没有任何作用,因为 90 乘以 4 等于 360

collectgarbage
已弃用

error
error(
message:Variant, level:number
):()
参数
message:Variant
level:number
默认值:1
返回
()

gcinfo
gcinfo():number
返回

getfenv
已弃用

getmetatable
getmetatable(t:Variant):Variant
参数
t:Variant
返回
Variant
代码示例
获取元表
local meta = {}
local t = setmetatable({}, meta)
print(getmetatable(t) == meta) --> true
-- 通过设置 __metatable 元方法使原始元表无法恢复:
meta.__metatable = "protected"
print(getmetatable(t)) --> protected

ipairs
参数
代码示例
Ipairs
local fruits = {"apples", "oranges", "kiwi"}
for index, fruit in ipairs(fruits) do
print(index, fruit) --> 1 苹果, 2 橙子, 3 猕猴桃, 等等...
end

loadstring
loadstring(
contents:string, chunkname:string
):Variant
参数
contents:string
chunkname:string
返回
Variant

newproxy
newproxy(addMetatable:boolean):userdata
参数
addMetatable:boolean
默认值:false
返回

next
next(
t:table, lastKey:Variant
):Variant,Variant
参数
lastKey:Variant
默认值:nil
返回
Variant, Variant

pairs
pairs(t:table):function,table,Variant
参数
返回
function, table, Variant
代码示例
配对
local scores = {
["John"] = 5,
["Sally"] = 10
}
for name, score in pairs(scores) do
print(name .. " 的分数: " .. score)
end

pcall
pcall(
func:function, args:Tuple
):boolean,Variant
参数
args:Tuple
返回
boolean, Variant
代码示例
Pcall
local function divideByFive(n: number): number
return n / 5
end
local success, errorMessage = pcall(divideByFive, "notANumber") -- 结果为错误...
if success then
-- 处理成功响应...
else
print("错误信息:", errorMessage)
end

print
print(params:Tuple):()
参数
params:Tuple
返回
()

rawequal
rawequal(
v1:Variant, v2:Variant
参数
v1:Variant
v2:Variant
返回

rawget
rawget(
t:table, index:Variant
):Variant
参数
index:Variant
返回
Variant

rawlen
rawlen(t:table):number
参数
返回

rawset
rawset(
t:table, index:Variant, value:Variant
参数
index:Variant
value:Variant
返回

require
require(module:ModuleScript | string | number):Variant
参数
返回
Variant
代码示例
需要模块解析
-- "./" 前缀等同于 script.Parent
require("./MySibling")
require((script.Parent).MySibling)
-- "../" 前缀等同于 script.Parent.Parent
require("../SiblingOfMyParent")
require((script.Parent.Parent).SiblingOfMyParent)
-- "../" 可以链式调用以向上多个级别
require("../../SiblingOfMyGrandparent")
require((script.Parent.Parent).Parent.SiblingOfMyGrandparent)
-- "@self" 前缀对应于脚本本身
require("@self/MyChild")
require((script).MyChild)
-- "@game" 前缀对应于 DataModel 根
require("@game/ReplicatedStorage/Shared/MyModule")
require((game).ReplicatedStorage.Shared.MyModule)

select
select(
index:Variant, args:Tuple
参数
index:Variant
args:Tuple
返回
代码示例
选择
print(select(2, "A", "B", "C")) --> B C
print(select(-1, "A", "B", "C")) --> C
print(select("#", "A", "B", "C")) --> 3

setfenv
已弃用

setmetatable
setmetatable(
t:table, newMeta:Variant
参数
newMeta:Variant
返回
代码示例
设置元表
local meta = {__metatable = "protected"}
local t = {}
setmetatable(t, meta) -- 这会设置 t 的元表
-- 现在我们有一个表 t 和一个元表。如果我们尝试更改它...
local ok, err = pcall(setmetatable, t, {})
assert(not ok and err:find("protected")) -- 错误:无法更改受保护的元表

tonumber
tonumber(
arg:Variant, base:number
):Variant
参数
arg:Variant
base:number
默认值:10
返回
Variant
代码示例
转为数字
print(tonumber("1337")) --> 1337 (假设基数为 10,十进制)
print(tonumber("1.25")) --> 1.25 (基数 10 可能有小数部分)
print(tonumber("3e2")) --> 300 (基数 10 可能有指数部分, 3 × 10 ^ 2)
print(tonumber("25", 8)) --> 21 (基数 8,八进制)
print(tonumber("0x100")) --> 256 (假设基数为 16,十六进制)
print(tonumber("roblox")) --> nil (不会引发错误)
-- 提示:如果希望不可转换的数字引发错误,请与 assert 一起使用
local ok, err = pcall(function() assert(tonumber("roblox")) end)
print(ok and "成功" or "错误: " .. tostring(err)) --> 错误: 断言失败

tostring
tostring(e:Variant):string
参数
e:Variant
返回
代码示例
转为字符串
local isRobloxCool = true
-- 将布尔值转换为字符串然后连接:
print("Roblox is cool: " .. tostring(isRobloxCool)) --> Roblox is cool: true

type
type(v:Variant):string
参数
v:Variant
返回

unpack
unpack(
list:table, i:number, j:number
):Variant
参数
list:table
默认值:1
默认值:#list
返回
Variant

xpcall
xpcall(
f:function, err:function, args:Tuple
):boolean,Variant
参数
args:Tuple
返回
boolean, Variant

属性
_G

_VERSION
_VERSION:string

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。