Lua - Bibliothèques standard

Les bibliothèques standard Lua fournissent un riche ensemble de fonctions implémentées directement avec l'API C et intégrées au langage de programmation Lua. Ces bibliothèques fournissent des services dans le langage de programmation Lua et également des services extérieurs tels que les opérations de fichiers et de bases de données.

Ces bibliothèques standard intégrées à l'API C officielle sont fournies sous forme de modules C séparés. Il comprend les éléments suivants -

  • Bibliothèque de base, qui comprend la sous-bibliothèque coroutine
  • Bibliothèque de modules
  • Manipulation des cordes
  • Manipulation de table
  • Bibliothèque de mathématiques
  • Entrée et sortie de fichier
  • Installations du système d'exploitation
  • Installations de débogage

Bibliothèque de base

Nous avons utilisé la bibliothèque de base tout au long du didacticiel sous divers sujets. Le tableau suivant fournit des liens vers des pages associées et répertorie les fonctions qui sont couvertes dans diverses parties de ce didacticiel Lua.

N ° Sr. Bibliothèque / méthode et objectif
1

Error Handling

Inclut des fonctions de gestion des erreurs comme assert, error comme expliqué dans Lua - Error Handling .

2

Memory Management

Inclut les fonctions de gestion automatique de la mémoire liées au garbage collection comme expliqué dans Lua - Garbage Collection .

3

dofile ([filename])

Il ouvre le fichier et exécute le contenu du fichier comme un morceau. Si aucun paramètre n'est passé, cette fonction exécute le contenu de l'entrée standard. Les erreurs seront propagées à l'appelant.

4

_G

Ainsi est la variable globale qui contient l'environnement global (c'est-à-dire _G._G = _G). Lua elle-même n'utilise pas cette variable.

5

getfenv ([f])

Renvoie l'environnement actuel utilisé par la fonction. f peut être une fonction Lua ou un nombre qui spécifie la fonction à ce niveau de pile - Le niveau 1 est la fonction appelant getfenv. Si la fonction donnée n'est pas une fonction Lua, ou si f vaut 0, getfenv renvoie l'environnement global. La valeur par défaut pour f est 1.

6

getmetatable (object)

Si l'objet n'a pas de métatable, renvoie nil. Sinon, si la métatable de l'objet a un champ «__metatable», renvoie la valeur associée. Sinon, retourne la métatable de l'objet donné.

sept

ipairs (t)

Cette fonction récupère les indices et les valeurs des tables.

8

load (func [, chunkname])

Charge un morceau en utilisant la fonction func pour obtenir ses morceaux. Chaque appel à func doit retourner une chaîne qui concatène avec les résultats précédents.

9

loadfile ([filename]))

Similaire à load, mais obtient le morceau à partir du nom du fichier ou de l'entrée standard, si aucun nom de fichier n'est donné.

dix

loadstring (string [, chunkname])

Similaire à load, mais obtient le morceau de la chaîne donnée.

11

next (table [, index])

Permet à un programme de parcourir tous les champs d'une table. Son premier argument est une table et son second argument est un index de cette table. next renvoie l'index suivant de la table et sa valeur associée.

12

pairs (t)

Suspend la coroutine en cours d'exécution. Le paramètre passé à cette méthode agit comme des valeurs de retour supplémentaires pour la fonction de reprise.

13

print (...)

Suspend la coroutine en cours d'exécution. Le paramètre passé à cette méthode agit comme des valeurs de retour supplémentaires pour la fonction de reprise.

14

rawequal (v1, v2)

Vérifie si v1 est égal à v2, sans invoquer de métaméthode. Renvoie un booléen.

15

rawget (table, index)

Obtient la valeur réelle de table [index], sans appeler de métaméthode. la table doit être une table; index peut être n'importe quelle valeur.

16

rawset (table, index, value)

Définit la valeur réelle de table [index] sur value, sans invoquer de métaméthode. table doit être une table, indexer toute valeur différente de nil et valoriser toute valeur Lua. Cette fonction renvoie une table.

17

select (index, ...)

Si index est un nombre, renvoie tous les arguments après le numéro d'argument index. Sinon, index doit être la chaîne "#" et select renvoie le nombre total d'arguments supplémentaires reçus.

18

setfenv (f, table)

Définit l'environnement à utiliser par la fonction donnée. f peut être une fonction Lua ou un nombre qui spécifie la fonction à ce niveau de pile - Le niveau 1 est la fonction appelant setfenv. setfenv renvoie la fonction donnée. Dans un cas particulier, lorsque f vaut 0, setfenv modifie l'environnement du thread en cours d'exécution. Dans ce cas, setfenv ne renvoie aucune valeur.

19

setmetatable (table, metatable)

Définit la métatable pour la table donnée. (Vous ne pouvez pas modifier la métatable d'autres types à partir de Lua, uniquement à partir de C.) Si métatable est nul, supprime la métatable de la table donnée. Si le métatable d'origine a un champ «__metatable», génère une erreur. Cette fonction retourne table.

20

tonumber (e [, base])

Tente de convertir son argument en nombre. Si l'argument est déjà un nombre ou une chaîne convertible en nombre, alors tonumber renvoie ce nombre; sinon, il renvoie nul.

21

tostring (e)

Reçoit un argument de n'importe quel type et le convertit en une chaîne dans un format raisonnable. Pour un contrôle complet de la façon dont les nombres sont convertis, utilisez string.format.

22

type (v)

Renvoie le type de son seul argument, codé sous forme de chaîne. Les résultats possibles de cette fonction sont "nil" (une chaîne, pas la valeur nil), "number", "string", "boolean", "table", "function", "thread" et "userdata".

23

unpack (list [, i [, j]])

Renvoie les éléments de la table donnée.

24

_VERSION

Une variable globale (pas une fonction) qui contient une chaîne contenant la version actuelle de l'interpréteur. Le contenu actuel de cette variable est "Lua 5.1".

25

Coroutines

Inclut les fonctions de manipulation de coroutine comme expliqué dans Lua - Coroutines .

Bibliothèque de modules

La bibliothèque de modules fournit les fonctions de base pour le chargement de modules dans Lua. Il exporte une fonction directement dans l'environnement global: require. Tout le reste est exporté dans un package de table. Les détails sur la bibliothèque de modules sont expliqués dans le chapitre précédent Lua - Tutoriel Modules .

Manipulation des cordes

Lua fournit un riche ensemble de fonctions de manipulation de chaînes. Le précédent didacticiel Lua - Strings couvre cela en détail.

Manipulation de table

Lua dépend des tables dans presque chaque partie de ses opérations. Le précédent didacticiel Lua - Tables couvre cela en détail.

Entrée et sortie de fichier

Nous avons souvent besoin d'une installation de stockage de données dans la programmation et cela est fourni par les fonctions de bibliothèque standard pour les E / S de fichiers dans Lua. Il est abordé dans le précédent didacticiel Lua - File I / O.

Installations de débogage

Lua fournit une bibliothèque de débogage qui fournit toutes les fonctions primitives pour que nous puissions créer notre propre débogueur. Il est abordé dans le didacticiel de débogage Lua précédent .