Lua Globals

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Ce qui suit est une liste de fonctions et de variables qui sont natives de Lua. Ces fonctions peuvent être utilisées dans une installation standard de Lua 5.1.4, bien que certaines d'entre elles fonctionnent sur Roblox.

Résumé

Fonctions

  • assert(value : Variant,errorMessage : string):Variant

    Lance une erreur si la valeur fournie value se règle sur false ou nil.

  • error(message : string,level : number):void

    Arrête l'exécution du fil et lance une erreur.

  • Renvoie la taille totale du réseau en kilobytes.

  • getmetatable(t : Variant):Variant

    Renvoie la table de métadonnées de la table donnée.

  • Renvoie une fonction d'itérateur et la table pour l'utiliser dans un for loop.

  • loadstring(contents : string,chunkname : string):Variant

    Renvoie le code fourni comme une fonction qui peut être exécutée.

  • newproxy(addMetatable : bool):userdata

    Crée un userdata vide, avec l'option pour qu'il ait une table de métier.

  • next(t : table,lastKey : Variant):Variant,Variant

    Une fonction d'itérateur pour l'utilisation dans des boucles.

  • Retourne une fonction d'itérateur et la table fournie pour l'utiliser dans un for boucle.

  • pcall(func : function,args : Tuple):bool,Variant

    Exécute la fonction fournie et attrape toute erreur qu'elle lance, ce qui renvoie le succès de la fonction et ses résultats.

  • print(params : Tuple):void

    Imprime toutes les valeurs fournies à la sortie.

  • rawequal(v1 : Variant,v2 : Variant):bool

    Renvoie si v1 est équal à v2 en contournant leurs métaméthodes.

  • rawget(t : table,index : Variant):Variant

    Obtient la valeur réelle de table[index] , en contournant toutes les méthodes métam.

  • Renvoie la longueur de la chaîne ou de la table, en évitant tout métaméthodes.

  • rawset(t : table,index : Variant,value : Variant):table

    Définit la valeur réelle de table[index] , en contournant toutes les méthodes métam.

  • require(module : ModuleScript):Variant

    Renvoie la valeur qui a été renvoyée par le ModuleScript donné, le courant si vous ne l'avez pas déjà exécuté.

  • select(index : Variant,args : Tuple):Tuple

    Renvoie tous les arguments après l'index donné.

  • setmetatable(t : table,newMeta : Variant):table

    Définit la table donnée.

  • tonumber(arg : Variant,base : number):Variant

    Renvoie la valeur fournie convertie en un nombre, ou zéro si impossible.

  • tostring(e : Variant):string

    Renvoie la valeur fournie convertie en une chaîne, ou zéro si impossible.

  • type(v : Variant):string

    Renvoie le type de base de l'objet fourni.

  • unpack(list : table,i : number,j : number):Variant

    Renvoie tous les éléments de la liste donnée comme un tuple.

  • xpcall(f : function,err : function,args : Tuple):bool,Variant

    Semblable à pcall() sauf qu'il utilise un gestionnaire d'erreurs personnalisé.

Propriétés

  • Une table qui est partagée entre tous les scripts du même niveau de contexte.

  • Une variable globale qui contient une chaîne contenant la version actuelle de l'interprète.

Fonctions

assert

Variant

Lance une erreur si la valeur fournie value est false ou nil. Si l'assertion passe, elle renvoie toutes les valeurs qu'elle a reçues.


local product = 90 * 4
assert(product == 360, "Oh dear, multiplication is broken")
-- The line above does nothing, because 90 times 4 is 360

Paramètres

value: Variant

La valeur qui sera affichée.

errorMessage: string

Le texte qui sera affiché dans l'erreur si l'assertion échoue.

Valeur par défaut : assertion failed!

Retours

Variant

error

void

Finit la dernière fonction protégée appelée et produit message en tant que message d'erreur. Si la fonction contenant l'erreur n'est pas appelée dans une fonction protégée telle que pcall(), alors le script qui a appelé la fonction sera résilier. La fonction d'erreur elle-même ne revient jamais et agit comme une erreur de script.

L'argument level spécifie comment obtenir la position d'erreur. Avec le niveau 1 (le niveau par défaut), la position d'erreur est où la fonction d'erreur a été appelée. Le niveau 2 indique que l'erreur est maintenant dans le message (le niveau supérieur). Passant un niveau 0 évite l'ajout d'informations de position d'erreur au message.

Paramètres

message: string

Le message d'erreur à afficher.

level: number

Le niveau d'information qui doit être imprimé. Par défaut, 1.

Valeur par défaut : 1

Retours

void

gcinfo

Renvoie la taille totale du heap de mémoire en kilobytes. Le nombre reflète la consommation de mémoire actuelle de l'ensemble du système d'exploitation, qui varie au fil du temps à mesure que le collecteur de déchets libère des objets.

Retours

getmetatable

Variant

Retourne la table métablie de la table donnée t si elle en a une, sinon renvoie zéro. Si t a une table métablie, et que le métaméthode __metatable est configurer, il renvoie cette valeur à la place.


-- Démontrer getmetatable :
local meta = {}
local t = setmetatable({}, meta)
print(getmetatable(t) == meta) --> vrai
-- Rendre l'original récupérable en récupérant la métaméthode __metable :
meta.__metatable = "protected"
print(getmetatable(t)) --> protected

Paramètres

t: Variant

L'objet à partir duquel on récupère la table de métier.

Retours

Variant

ipairs

Retourne trois valeurs : une fonction d'itérateur, la table t et le nombre 0 . Chaque fois que la fonction d'itérateur est appelée, il renvoie le prochain nombre indexaire de valeur dans le tableau. Lors de l'utilisation dans un générateur de for-Loop, les valeurs de retour peuvent être utilisées pour itérer sur chaque nombre indexaire dans le tableau :


local fruits = {"apples", "oranges", "kiwi"}
for index, fruit in ipairs(fruits) do
print(index, fruit) --> 1 pommes, 2 oranges, 3 kiwi, etc...
end

Paramètres

Une table dont les éléments sont à itérer.

loadstring

Variant

Charge du code Lua d'une chaîne et le renvoie en tant que fonction.

Contrairement à l'Lua standard 5.1, l'Lua de Roblox ne peut pas charger la version binaire de l'Lua en utilisant loadstring() .

loadstring() est désactivé par défaut. Pour plus d'informations sur l'activation, voir ServerScriptService.

AVERTISSEMENT: Ce méthode désactive certaines optimisations Luau sur la fonction renvoyée. La plus grande prudence devrait être prise lors de l'utilisation de loadstring() ; si votre intention est d'autoriser les utilisateurs à exécuter du code dans votre expérience, assurez-vous de protéger l'environnement

Paramètres

contents: string

La chaîne spécifiée pour être chargée en tant que code Lua.

chunkname: string

Un nom de chapitre facultatif pour les messages d'erreur et les informations de débogage. Si ce n'est pas spécifié, Lua utilise la chaîne contents.

Retours

Variant

newproxy

Crée un userdata vide, avec l'option pour qu'il ait une table de métier.

Paramètres

addMetatable: bool
Valeur par défaut : false

Retours

Retourne une fonction d'itérateur, la table passée t , et nil, afin que la construction itère sur toutes les paires de clés/valeurs de cette table lorsqu'elle est utilisée dans un générateur for boucle :


local scores = {
["John"] = 5,
["Sally"] = 10
}
for name, score in pairs(scores) do
print(name .. " has score: " .. score)
end

Paramètres

Une table ou un dictionnaire à tableaux pour itérer.

pcall

Appelle la fonction func avec les arguments donnés en mode protégé. Cela signifie que toute erreur à l'intérieur de func n'est pas propagée; au lieu de cela, pcall() attrape l'erreur et renvoie

Paramètres

func: function

La fonction à appeler en mode protégé.

args: Tuple

Les arguments à envoyer à func lors de l'exécution.

Retours

Variant

print

void

Reçoit n'importe quel nombre d'argument et imprime leurs valeurs dans la sortie. print n'est pas destiné à l'Output forgé, mais seulement comme une façon rapide de montrer une valeur, généralement pour le débogage. Pour un Output forgé, utilisez string.format() . Sur

Paramètres

params: Tuple

N'importe quel nombre d' arguments à sortir.

Retours

void

rawequal

Vérifie si v1 est équal à v2 , sans invoquer de métaméthodes.

Paramètres

v1: Variant

La première variable à comparer.

v2: Variant

La deuxième variable à comparer.

Retours

rawget

Variant

Obtient la valeur réelle de table[index] , sans invoquer de métaméthodes.

Paramètres

La table à laquelle se référer.

index: Variant

L'index pour obtenir à partir de t .

Retours

Variant

rawlen

Renvoie la longueur de la chaîne ou de la table, sans invoquer de métaméthodes.

Paramètres

La table à laquelle se référer.

Retours

rawset

Définit la valeur réelle de table[index] à un value donné, sans invoquer de méthode métamatique.

Paramètres

La table à laquelle se référer.

index: Variant

L'index à définir dans t à un value spécifié. Doit être différent de zéro.

value: Variant

La valeur à être définie sur un index spécifié dans la table t.

Retours

require

Variant

Exécute le ModuleScript fourni et renvoie ce que le ModuleScript renvoyé a produit (généralement une table ou une fonction). Une fois que l'objet renvoyé a été créé par un

Comme noté ci-dessus, le comportement "partage d'objets" ne franchit

Notez également que si le ModuleScript lequel l'utilisateur souhaite exécuter a été téléchargé sur Roblox (avec le nom de l'instance étant MainModule), il peut être chargé en utilisant la fonction require() sur l'ID de la ressource du 1> Class.ModuleScript1>, bien que seulement sur le serveur.

Paramètres

module: ModuleScript

Le ModuleScript qui sera exécuté pour récupérer la valeur de retour qu'il fournit.

Retours

Variant

Ce que le ModuleScript renvoyé (généralement une table ou une fonction).

select

Renvoie tous les arguments après le numéro d'argument index. Si négatif, il renviera de la fin de la liste d' arguments.


print(select(2, "A", "B", "C")) --> B C
print(select(-1, "A", "B", "C")) --> C

Si l'argument index est défini sur "#", le nombre d' arguments qui ont été passés après son retour.


print(select("#", "A", "B", "C")) --> 3

Paramètres

index: Variant

L'index de l'argument pour retourner tous les arguments après args. Si elle est réglée sur "#", le nombre d' arguments qui ont été passés après son retour.

args: Tuple

Un tableau d' arguments.

Retours

setmetatable

Définit la table de données pour la table t à newMeta . Si newMeta est nul, la table de données de 1> t1> est supprimée. Enfin,


local meta = {__metatable = "protected"}
local t = {}
setmetatable(t, meta) -- Cela définit la table de métier de t
-- Nous avons maintenant une table, t, avec un metatable. Si nous essayons de la modifier...
setmetatable(t, {}) --> Error: cannot change a protected metatable

Paramètres

La table pour définir la table de métier.

newMeta: Variant

Si null, la table de données t est supprimée. Sinon, la table de données pour laquelle on choisit t est supprimée.

Retours

tonumber

Variant

Tente de convertir l'argument en un nombre avec une base spécifiée pour interpréter la valeur dans laquelle il se trouve. Si elle ne peut pas être convertie, cette fonction renvoie zéro.

La base peut être n'importe quel nombre entre 2 et 36, y compris. Dans les bases ci-dessus 10, la lettre « A » (en majuscules ou minuscules) représente 10, « B » représente 11 et ainsi de suite, « Z » représente 35. Dans la base 10 (la valeur par défaut), le nombre peut avoir une partie décimale, ainsi qu'une partie EXPENTE optionnelle. Dans d'autres bases, seuls les nombres signés sont

Si une chaîne commence par 0x et qu'une base n'est pas fournie, la base 0x est coupée et la base est supposée être 16, ou hexadécimale.


print(tonumber("1337")) --> 1337 (assume la 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 fois; 10 ^ 2)
print(tonumber("25", 8)) --> 21 (base 8, octal)
print(tonumber("0x100")) --> 256 (assume la base 16, hexadécimal)
print(tonumber("roblox")) --> nil (ne soulève pas d'erreur)
-- Astuce : utilisez avec unassert si vous souhaitez des nombres non convertibles pour soulever une erreur
print(assert(tonumber("roblox"))) --> Error: assertion failed

Paramètres

arg: Variant

L'objet à convertir en un nombre.

base: number

La base numérique pour convertir arg en.

Valeur par défaut : 10

Retours

Variant

tostring

Reçoit un argument de n'importe quel type et le convertit en une chaîne dans un format raisonnable. Pour le contrôle complet de la façon dont les numéros sont convertis, utilisez "e" . Pour que la table de métier de e ait un métaméthode, il sera appelé avec __tostring comme seul argument et renverra le resultats.


local isRobloxCool = true
-- Convertissez le booléen en une chaîne puis concaténez :
print("Roblox is cool: " .. tostring(isRobloxCool)) --> Roblox is cool: true

Paramètres

e: Variant

L'objet à convertir en une chaîne.

Retours

type

Renvoie le type de son seul argument, codé comme une chaîne. Les résultats possibles de cette fonction sont « nil » (une chaîne, pas la valeur null), « number », « string », « boon », « table », « force vectorielle», « véritable », « fil», « userdata » et « fonction ».

Paramètres

v: Variant

L'objet pour renvoyer le type.

Retours

unpack

Variant

Renvoie les éléments de la table donnée. Par défaut, i est 1 et j est la longueur de list, comme défini par l'opérateur de longueur.

Paramètres

list: table

La liste des éléments à déballer.

L'index du premier élément à déballer.

Valeur par défaut : 1

L'index de l' dernier élément à déballer.

Valeur par défaut : #list

Retours

Variant

xpcall

Cette fonction est similaire à pcall() , excepté que vous pouvez définir un nouveau gestionnaire d'erreurs.

xpcall() appelle la fonction

Paramètres

La fonction à appeler en mode protégé.

La fonction à utiliser en tant que gestionnaire d'erreurs si xpcall attrape une erreur.

args: Tuple

Retours

Variant

Propriétés

Une table qui est partagée entre tous les scripts du même niveau de contexte.

_VERSION

Une variable globale (pas une fonction) qui contient une chaîne contenant la version actuelle de l'interprète.