Lua - Standardbibliotheken
Lua-Standardbibliotheken bieten eine Vielzahl von Funktionen, die direkt mit der C-API implementiert und in die Programmiersprache Lua integriert sind. Diese Bibliotheken bieten Dienste innerhalb der Programmiersprache Lua sowie externe Dienste wie Datei- und Datenbankoperationen.
Diese in der offiziellen C-API integrierten Standardbibliotheken werden als separate C-Module bereitgestellt. Es enthält die folgenden -
- Basisbibliothek, die die Coroutine-Unterbibliothek enthält
- Modulbibliothek
- String-Manipulation
- Tabellenmanipulation
- Mathematikbibliothek
- Dateieingabe und -ausgabe
- Betriebssystemeinrichtungen
- Debug-Funktionen
Basisbibliothek
Wir haben die Basisbibliothek im gesamten Tutorial unter verschiedenen Themen verwendet. Die folgende Tabelle enthält Links zu verwandten Seiten und listet die Funktionen auf, die in verschiedenen Teilen dieses Lua-Tutorials behandelt werden.
Sr.Nr. | Bibliothek / Methode & Zweck |
---|---|
1 | Error Handling Enthält Fehlerbehandlungsfunktionen wie Assert, Fehler, wie in Lua - Fehlerbehandlung erläutert . |
2 | Memory Management Enthält die automatischen Speicherverwaltungsfunktionen für die Speicherbereinigung, wie in Lua - Speicherbereinigung erläutert . |
3 | dofile ([filename]) Es öffnet die Datei und führt den Inhalt der Datei als Block aus. Wenn kein Parameter übergeben wird, führt diese Funktion den Inhalt der Standardeingabe aus. Die Fehler werden an den Anrufer weitergegeben. |
4 | _G Somit ist die globale Variable, die die globale Umgebung enthält (dh _G._G = _G). Lua selbst verwendet diese Variable nicht. |
5 | getfenv ([f]) Gibt die aktuell von der Funktion verwendete Umgebung zurück. f kann eine Lua-Funktion oder eine Zahl sein, die die Funktion auf dieser Stapelebene angibt - Ebene 1 ist die Funktion, die getfenv aufruft. Wenn die angegebene Funktion keine Lua-Funktion ist oder wenn f 0 ist, gibt getfenv die globale Umgebung zurück. Der Standardwert für f ist 1. |
6 | getmetatable (object) Wenn das Objekt keine Metatabelle hat, wird nil zurückgegeben. Andernfalls gibt der zugehörige Wert zurück, wenn die Metatable des Objekts ein Feld "__metatable" enthält. Andernfalls wird die Metatabelle des angegebenen Objekts zurückgegeben. |
7 | ipairs (t) Diese Funktion ruft die Indizes und Werte von Tabellen ab. |
8 | load (func [, chunkname]) Lädt einen Block mit der Funktion func, um seine Teile zu erhalten. Jeder Aufruf von func muss eine Zeichenfolge zurückgeben, die mit früheren Ergebnissen verknüpft ist. |
9 | loadfile ([filename])) Ähnlich wie beim Laden, bezieht den Block jedoch aus dem Dateinamen der Datei oder aus der Standardeingabe, wenn kein Dateiname angegeben ist. |
10 | loadstring (string [, chunkname]) Ähnlich wie beim Laden, erhält jedoch den Block aus der angegebenen Zeichenfolge. |
11 | next (table [, index]) Ermöglicht einem Programm, alle Felder einer Tabelle zu durchlaufen. Das erste Argument ist eine Tabelle und das zweite Argument ist ein Index in dieser Tabelle. next gibt den nächsten Index der Tabelle und den zugehörigen Wert zurück. |
12 | pairs (t) Hält die laufende Coroutine an. Der an diese Methode übergebene Parameter dient als zusätzliche Rückgabewerte für die Wiederaufnahmefunktion. |
13 | print (...) Hält die laufende Coroutine an. Der an diese Methode übergebene Parameter dient als zusätzliche Rückgabewerte für die Wiederaufnahmefunktion. |
14 | rawequal (v1, v2) Überprüft, ob v1 gleich v2 ist, ohne eine Metamethode aufzurufen. Gibt einen Booleschen Wert zurück. |
15 | rawget (table, index) Ruft den tatsächlichen Wert von table [index] ab, ohne eine Metamethode aufzurufen. Tabelle muss eine Tabelle sein; Index kann ein beliebiger Wert sein. |
16 | rawset (table, index, value) Setzt den tatsächlichen Wert von Tabelle [Index] auf Wert, ohne eine Metamethode aufzurufen. Die Tabelle muss eine Tabelle sein, einen beliebigen Wert von nil indizieren und einen beliebigen Lua-Wert bewerten. Diese Funktion gibt die Tabelle zurück. |
17 | select (index, ...) Wenn index eine Zahl ist, werden alle Argumente nach dem Argumentnummernindex zurückgegeben. Andernfalls muss der Index die Zeichenfolge "#" sein, und select gibt die Gesamtzahl der empfangenen zusätzlichen Argumente zurück. |
18 | setfenv (f, table) Legt die Umgebung fest, die von der angegebenen Funktion verwendet werden soll. f kann eine Lua-Funktion oder eine Zahl sein, die die Funktion auf dieser Stapelebene angibt - Ebene 1 ist die Funktion, die setfenv aufruft. setfenv gibt die angegebene Funktion zurück. Als Sonderfall ändert setfenv die Umgebung des laufenden Threads, wenn f 0 ist. In diesem Fall gibt setfenv keine Werte zurück. |
19 | setmetatable (table, metatable) Legt die Metatabelle für die angegebene Tabelle fest. (Sie können die Metatabelle anderer Typen nicht von Lua aus ändern, sondern nur von C.) Wenn die Metatabelle Null ist, wird die Metatabelle der angegebenen Tabelle entfernt. Wenn die ursprüngliche Metatabelle ein Feld "__metatierbar" enthält, wird ein Fehler ausgelöst. Diese Funktion gibt die Tabelle zurück. |
20 | tonumber (e [, base]) Versucht, sein Argument in eine Zahl umzuwandeln. Wenn das Argument bereits eine Zahl oder eine Zeichenfolge ist, die in eine Zahl konvertierbar ist, gibt tonumber diese Zahl zurück. Andernfalls wird null zurückgegeben. |
21 | tostring (e) Empfängt ein Argument eines beliebigen Typs und konvertiert es in eine Zeichenfolge in einem angemessenen Format. Verwenden Sie string.format, um die Konvertierung von Zahlen vollständig zu steuern. |
22 | type (v) Gibt den Typ des einzigen Arguments zurück, das als Zeichenfolge codiert ist. Die möglichen Ergebnisse dieser Funktion sind "nil" (eine Zeichenfolge, nicht der Wert nil), "number", "string", "boolean", "table", "function", "thread" und "userdata". |
23 | unpack (list [, i [, j]]) Gibt die Elemente aus der angegebenen Tabelle zurück. |
24 | _VERSION Eine globale Variable (keine Funktion), die eine Zeichenfolge enthält, die die aktuelle Interpreterversion enthält. Der aktuelle Inhalt dieser Variablen ist "Lua 5.1". |
25 | Coroutines Enthält die Coroutine-Manipulationsfunktionen, wie in Lua - Coroutines erläutert . |
Modulbibliothek
Die Modulbibliothek bietet die Grundfunktionen zum Laden von Modulen in Lua. Es exportiert eine Funktion direkt in die globale Umgebung: erfordern. Alles andere wird in ein Tabellenpaket exportiert. Die Details zur Modulbibliothek werden im vorherigen Kapitel Lua - Module Tutorial erläutert .
String-Manipulation
Lua bietet eine Vielzahl von Funktionen zur Manipulation von Zeichenfolgen. Das frühere Lua-Strings- Tutorial behandelt dies ausführlich.
Tabellenmanipulation
Lua ist in fast allen Bereichen auf Tabellen angewiesen. Das frühere Tutorial zu Lua - Tables behandelt dies ausführlich.
Dateieingabe und -ausgabe
Wir benötigen häufig Datenspeicherfunktionen für die Programmierung, die durch Standardbibliotheksfunktionen für Datei-E / A in Lua bereitgestellt werden. Dies wird in einem früheren Lua - File I / O- Tutorial erläutert .
Debug-Funktionen
Lua bietet eine Debug-Bibliothek, die alle primitiven Funktionen zum Erstellen eines eigenen Debuggers bietet. Es wird in einem früheren Lua - Debugging - Tutorial besprochen .