Moteur principal
Luau globals
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Résumé
Fonctions
collectgarbage(operation: string):Variant |
getmetatable(t: Variant):Variant |
loadstring(contents: string,chunkname: string):Variant |
require(module: ModuleScript | string | number):Variant |
setmetatable(t: table,newMeta: Variant):table |
Référence API
Fonctions
assert
Paramètres
value:Variant |
| Valeur par défaut : assertion failed! |
Retours
Variant
Échantillons de code
Affirmer
local product = 90 * 4
assert(product == 360, "Oh là là, la multiplication est cassée")
-- La ligne ci-dessus ne fait rien, car 90 fois 4 est 360collectgarbage
error
getfenv
getmetatable
getmetatable(t:Variant):Variant
Paramètres
t:Variant |
Retours
Variant
Échantillons de code
Obtenir la métatable
local meta = {}
local t = setmetatable({}, meta)
print(getmetatable(t) == meta) --> true
-- Rendre la métatable originale irrécupérable en définissant la métaméthode __metatable :
meta.__metatable = "protégé"
print(getmetatable(t)) --> protégéipairs
loadstring
newproxy
next
pairs
pcall
Retours
Échantillons de code
Pcall
local function divideByFive(n: number): number
return n / 5
end
local success, errorMessage = pcall(divideByFive, "notANumber") -- Résulte en une erreur...
if success then
-- Gérer la réponse réussie...
else
print("Message d'erreur:", errorMessage)
endrawset
require
Paramètres
Retours
Variant
Échantillons de code
Exiger la résolution de module
-- Le préfixe "./" est équivalent à script.Parent
require("./MySibling")
require((script.Parent).MySibling)
-- Le préfixe "../" est équivalent à script.Parent.Parent
require("../SiblingOfMyParent")
require((script.Parent.Parent).SiblingOfMyParent)
-- "../" peut être enchaîné pour remonter plusieurs niveaux
require("../../SiblingOfMyGrandparent")
require((script.Parent.Parent).Parent.SiblingOfMyGrandparent)
-- Le préfixe "@self" correspond au script lui-même
require("@self/MyChild")
require((script).MyChild)
-- Le préfixe "@game" correspond à la racine du DataModel
require("@game/ReplicatedStorage/Shared/MyModule")
require((game).ReplicatedStorage.Shared.MyModule)select
setfenv
setmetatable
Paramètres
newMeta:Variant |
Retours
Échantillons de code
Définir la métatable
local meta = {__metatable = "protected"}
local t = {}
setmetatable(t, meta) -- Cela définit la métatable de t
-- Nous avons maintenant une table, t, avec une métatable. Si nous essayons de la changer...
local ok, err = pcall(setmetatable, t, {})
assert(not ok and err:find("protected")) -- Erreur : impossible de changer une métatable protégéetonumber
Paramètres
arg:Variant |
| Valeur par défaut : 10 |
Retours
Variant
Échantillons de code
Tonumber
print(tonumber("1337")) --> 1337 (suppose base 10, décimal)
print(tonumber("1.25")) --> 1.25 (la base 10 peut avoir des parties décimales)
print(tonumber("3e2")) --> 300 (la base 10 peut avoir une partie exponentielle, 3 × 10 ^ 2)
print(tonumber("25", 8)) --> 21 (base 8, octale)
print(tonumber("0x100")) --> 256 (suppose base 16, hexadécimal)
print(tonumber("roblox")) --> nil (ne soulève pas d'erreur)
-- Astuce : utilisez avec assert si vous souhaitez que les nombres non convertibles soulèvent une erreur
local ok, err = pcall(function() assert(tonumber("roblox")) end)
print(ok and "Succès" or "Erreur : " .. tostring(err)) --> Erreur : échec de l'assertiontostring
unpack
Propriétés