Aprenda
Mecanismo global
Luau globals

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.


Resumo

Funções
assert(value: Variant,errorMessage: string):Variant
collectgarbage(operation: string):Variant
Obsoleto
error(message: Variant,level: number):()
getfenv(stack: Variant):table
Obsoleto
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
Obsoleto
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
Propriedades

Referência API
Funções
assert
assert(
value:Variant, errorMessage:string
):Variant
Parâmetros
value:Variant
errorMessage:string
Valor Padrão: assertion failed!
Devolução
Variant
Amostras de código
Afirmar
local product = 90 * 4
assert(product == 360, "Oh não, a multiplicação está quebrada")
-- A linha acima não faz nada, porque 90 vezes 4 é 360

collectgarbage
Obsoleto

error
error(
message:Variant, level:number
):()
Parâmetros
message:Variant
level:number
Valor Padrão: 1
Devolução
()

gcinfo
gcinfo():number
Devolução

getfenv
Obsoleto

getmetatable
getmetatable(t:Variant):Variant
Parâmetros
t:Variant
Devolução
Variant
Amostras de código
Obter Metatable
local meta = {}
local t = setmetatable({}, meta)
print(getmetatable(t) == meta) --> true
-- Torne a metatable original irrecuperável definindo o metamétodo __metatable:
meta.__metatable = "protegido"
print(getmetatable(t)) --> protegido

ipairs
Parâmetros
Devolução
Amostras de código
Ipairs
local fruits = {"apples", "oranges", "kiwi"}
for index, fruit in ipairs(fruits) do
print(index, fruit) --> 1 maçãs, 2 laranjas, 3 kiwi, etc...
end

loadstring
loadstring(
contents:string, chunkname:string
):Variant
Parâmetros
contents:string
chunkname:string
Devolução
Variant

newproxy
newproxy(addMetatable:boolean):userdata
Parâmetros
addMetatable:boolean
Valor Padrão: false
Devolução

next
next(
t:table, lastKey:Variant
):Variant,Variant
Parâmetros
lastKey:Variant
Valor Padrão: nil
Devolução
Variant, Variant

pairs
pairs(t:table):function,table,Variant
Parâmetros
Devolução
function, table, Variant
Amostras de código
Pares
local scores = {
["John"] = 5,
["Sally"] = 10
}
for name, score in pairs(scores) do
print(name .. " tem a pontuação: " .. score)
end

pcall
pcall(
func:function, args:Tuple
):boolean,Variant
Parâmetros
args:Tuple
Devolução
boolean, Variant
Amostras de código
Pcall
local function divideByFive(n: number): number
return n / 5
end
local success, errorMessage = pcall(divideByFive, "notANumber") -- Resulta em erro...
if success then
-- Tratar resposta bem-sucedida...
else
print("Mensagem de erro:", errorMessage)
end

print
print(params:Tuple):()
Parâmetros
params:Tuple
Devolução
()

rawequal
rawequal(
v1:Variant, v2:Variant
Parâmetros
v1:Variant
v2:Variant
Devolução

rawget
rawget(
t:table, index:Variant
):Variant
Parâmetros
index:Variant
Devolução
Variant

rawlen
rawlen(t:table):number
Parâmetros
Devolução

rawset
rawset(
t:table, index:Variant, value:Variant
Parâmetros
index:Variant
value:Variant
Devolução

require
require(module:ModuleScript | string | number):Variant
Parâmetros
Devolução
Variant
Amostras de código
Requerer Resolução de Módulo
-- O prefixo "./" é equivalente a script.Parent
require("./MySibling")
require((script.Parent).MySibling)
-- O prefixo "../" é equivalente a script.Parent.Parent
require("../SiblingOfMyParent")
require((script.Parent.Parent).SiblingOfMyParent)
-- "../" pode ser encadeado para subir múltiplos níveis
require("../../SiblingOfMyGrandparent")
require((script.Parent.Parent).Parent.SiblingOfMyGrandparent)
-- O prefixo "@self" corresponde ao próprio script
require("@self/MyChild")
require((script).MyChild)
-- O prefixo "@game" corresponde à raiz do DataModel
require("@game/ReplicatedStorage/Shared/MyModule")
require((game).ReplicatedStorage.Shared.MyModule)

select
select(
index:Variant, args:Tuple
Parâmetros
index:Variant
args:Tuple
Devolução
Amostras de código
Selecionar
print(select(2, "A", "B", "C")) --> B C
print(select(-1, "A", "B", "C")) --> C
print(select("#", "A", "B", "C")) --> 3

setfenv
Obsoleto

setmetatable
setmetatable(
t:table, newMeta:Variant
Parâmetros
newMeta:Variant
Devolução
Amostras de código
Definir Metatable
local meta = {__metatable = "protegido"}
local t = {}
setmetatable(t, meta) -- Isso define a metatable de t
-- Agora temos uma tabela, t, com uma metatable. Se tentarmos mudá-la...
local ok, err = pcall(setmetatable, t, {})
assert(not ok and err:find("protegido")) -- Erro: não é possível mudar uma metatable protegida

tonumber
tonumber(
arg:Variant, base:number
):Variant
Parâmetros
arg:Variant
base:number
Valor Padrão: 10
Devolução
Variant
Amostras de código
Tonumber
print(tonumber("1337")) --> 1337 (assume base 10, decimal)
print(tonumber("1.25")) --> 1.25 (base 10 pode ter partes decimais)
print(tonumber("3e2")) --> 300 (base 10 pode ter parte exponencial, 3 × 10 ^ 2)
print(tonumber("25", 8)) --> 21 (base 8, octal)
print(tonumber("0x100")) --> 256 (assume base 16, hexadecimal)
print(tonumber("roblox")) --> nil (não gera um erro)
-- Dica: use com assert se você quiser que números não convertíveis gerem um erro
local ok, err = pcall(function() assert(tonumber("roblox")) end)
print(ok and "Sucesso" or "Erro: " .. tostring(err)) --> Erro: falha na asserção

tostring
tostring(e:Variant):string
Parâmetros
e:Variant
Devolução
Amostras de código
Tostring
local isRobloxCool = true
-- Converte o booleano para uma string e depois concatena:
print("Roblox é legal: " .. tostring(isRobloxCool)) --> Roblox é legal: true

type
type(v:Variant):string
Parâmetros
v:Variant
Devolução

unpack
unpack(
list:table, i:number, j:number
):Variant
Parâmetros
list:table
Valor Padrão: 1
Valor Padrão: #list
Devolução
Variant

xpcall
xpcall(
f:function, err:function, args:Tuple
):boolean,Variant
Parâmetros
args:Tuple
Devolução
boolean, Variant

Propriedades
_G

_VERSION
_VERSION:string

©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.