Lua Globals
*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
Lance une erreur si la valeur fournie value se règle sur false ou nil.
Arrête l'exécution du fil et lance une erreur.
Renvoie la taille totale du réseau en kilobytes.
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.
Renvoie le code fourni comme une fonction qui peut être exécutée.
Crée un userdata vide, avec l'option pour qu'il ait une table de métier.
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.
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.
Imprime toutes les valeurs fournies à la sortie.
Renvoie si v1 est équal à v2 en contournant leurs métaméthodes.
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.
Définit la valeur réelle de table[index] , en contournant toutes les méthodes métam.
Renvoie la valeur qui a été renvoyée par le ModuleScript donné, le courant si vous ne l'avez pas déjà exécuté.
Renvoie tous les arguments après l'index donné.
Définit la table donnée.
Renvoie la valeur fournie convertie en un nombre, ou zéro si impossible.
Renvoie la valeur fournie convertie en une chaîne, ou zéro si impossible.
Renvoie le type de base de l'objet fourni.
Renvoie tous les éléments de la liste donnée comme un tuple.
Semblable à pcall() sauf qu'il utilise un gestionnaire d'erreurs personnalisé.
Fonctions
assert
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 * 4assert(product == 360, "Oh dear, multiplication is broken")-- The line above does nothing, because 90 times 4 is 360
Paramètres
La valeur qui sera affichée.
Le texte qui sera affiché dans l'erreur si l'assertion échoue.
Retours
error
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
Retours
getmetatable
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
L'objet à partir duquel on récupère la table de métier.
Retours
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) doprint(index, fruit) --> 1 pommes, 2 oranges, 3 kiwi, etc...end
Paramètres
Une table dont les éléments sont à itérer.
loadstring
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
Retours
next
Retourne la première paire de clés/valeurs dans l'matrice. Si un argument lastKey a été spécifié, alors retourne le prochain élément dans l'arrêt en fonction de la clé fournie. L'ordre dans lequel les tableaux sont numérotés n'est pas spécifié, même pour les tableaux numériques. Pour traverser une table dans l'ordre numérique, utilise un nombre entier pour le boucle ou ipairs .
Le comportement de la prochaine est undefined si, pendant la traversée, vous attribuez une valeur à un champ non existant dans le tableau. Vous pouvez cependant modifier les champs existants. En particulier, vous pouvez effacer les champs existants.
Paramètres
L' array à traversé.
La dernière clé qui a été récupérée précédemment à partir d'un appel à suivant.
Retours
pairs
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) doprint(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
Retours
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
N'importe quel nombre d' arguments à sortir.
Retours
rawget
Obtient la valeur réelle de table[index] , sans invoquer de métaméthodes.
Paramètres
La table à laquelle se référer.
L'index pour obtenir à partir de t .
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.
L'index à définir dans t à un value spécifié. Doit être différent de zéro.
La valeur à être définie sur un index spécifié dans la table t.
Retours
require
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
Le ModuleScript qui sera exécuté pour récupérer la valeur de retour qu'il fournit.
Retours
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 Cprint(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
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.
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.
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
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 erreurprint(assert(tonumber("roblox"))) --> Error: assertion failed
Paramètres
L'objet à convertir en un nombre.
La base numérique pour convertir arg en.
Retours
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
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
L'objet pour renvoyer le type.
Retours
unpack
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
Retours
xpcall
Cette fonction est similaire à pcall() , excepté que vous pouvez définir un nouveau gestionnaire d'erreurs.
xpcall() appelle la fonction
Paramètres
Retours
Propriétés
_G
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.