Lua Globals
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Das Folgende ist eine Liste der Funktionen und Variablen, die nativ in Lua sind. Diese Funktionen können in einer Standard-Installation von Lua 5.1.4 verwendet werden, obwohl es einige Unterschiede gibt, wie einige davon auf Roblox funktionieren.
Zusammenfassung
Funktionen
Wirft einen Fehler, wenn das angegebene value auf false oder nil löst.
Stoppt die Thread-Ausführung und wirft einen Fehler.
Gibt die gesamte Memoire-Thread-Größe in Kilobytes zurück.
Gibt die Metatable der angegebenen Tabelle zurück.
Rückgibt eine Iter-Funktion und die Tabelle für die Verwendung in einem for-Loop.
Rückgibt den bereitgestellten Code als Funktion, die ausgeführt werden kann.
Erstellt eine leere userdata , mit der Option, dass es eine Metatable haben kann.
Eine Iterationsfunktion für den Gebrauch in Loopings.
Gibt eine Iter-Funktion und die bereitgestellte Tabelle für den Gebrauch in einem for Loop zurück.
Führen Sie die angegebene Funktion aus und fangen Sie alle Fehler, die sie throwt, zurück, um den Erfolg der Funktion und ihre Ergebnisse zu geben.
Druckt alle angegebenen Werte in die Ausgabe.
Gibt zurück, ob v1 gleich ist mit v2, indem ihre Metam Methods umgeht.
Erhalte den realen Wert von table[index] , indem alle Metam Methods umgehe.
Gibt die Länge der Strings oder Tabelle zurück, indem alle Metam Methoden umgangen werden.
Setzt den wirklichen Wert von table[index] , indem alle Metam Methoden umgeht.
Gibt den Wert zurück, der vom gegebenen ModulScript zurückgegeben wurde, und läuft es, wenn es noch nicht ausgeführt wurde.
Rückt alle Argumente nach dem angegebenen Index zurück.
Setzt die Metatable der angegebenen Tabelle.
Gibt den bereitgestellten Wert in eine Zahl zurück, oder null, wenn es unmöglich ist.
Gibt den bereitgestellten Wert in eine Stringum, oder null zurück, wenn es unmöglich ist.
Kehre den grundlegenden Typ des bereitgestellten Objekts zurück.
Kehre alle Elemente der angegebenen Liste als Tupel zurück.
Ähnlich wie pcall() , mit dem es einen benutzerdefinierten Fehler-Handler verwendet.
Funktionen
assert
Wirft einen Fehler ab, wenn die angegebene value falsch ist oder false . Wenn die Behauptung gilt, gibt sie alle Werte zurück, die an sie übergeben wurden.
local product = 90 * 4assert(product == 360, "Oh dear, multiplication is broken")-- The line above does nothing, because 90 times 4 is 360
Parameter
Der Wert, gegen den eingetreten wird.
Der Text, der im Fehler angezeigt wird, wenn die Äußerung fehlschlägt.
Rückgaben
error
Beendet die letzte geschützte Funktion, die aufgerufen wird, und gibt als Fehler-Nachricht message aus. Wenn die Funktion, die den Fehler enthält, nicht in einer geschützten Funktion aufgerufen wird, wird das Skript, das die Funktion aufruft, kündigen. Die Fehler-Funktion selbst wird nie zurückgegeben und funktioniert wie ein Skriptfehler.
Das level-Argument bestimmt, wie man die Fehlerposition erhalten kann. Mit Level 1 (der Standard) ist die Fehlerposition der Ort, an dem die Fehlerfunktion aufgerufen wurde. Stufe 2 zeigt die Fehlerposition an, wo die Funktion, die Fehler aufgerufen hat, aufgerufen wurde; und so weiter. Wenn ein Stufe 0 übersandt wird, wird die Fehlerposition nicht mit der Nachricht
Parameter
Rückgaben
getmetatable
Gibt die Metatable der angegebenen Tabelle t zurück, wenn sie eine hat, oder null zurück, sonst gibt sie nil zurück. Wenn t eine Metatable hat und der __metatable Metamethode festlegenist, gibt sie stattdessen diesen Wert zurück.
-- Zeigen Sie getmetatable:local meta = {}local t = setmetatable({}, meta)print(getmetatable(t) == meta) --> wahr-- Stellen Sie die ursprüngliche Metatable wieder her, indem Sie das Metamethode __metable festlegen:meta.__metatable = "protected"print(getmetatable(t)) --> protected
Parameter
Das Objekt, von dem die Metatable abgerufen wird.
Rückgaben
ipairs
Gibt drei Werte zurück: eine Iter-Funktion, die Tabelle t und die Zahl 0 . Jedes Mal, wenn die Iter-Funktion aufgerufen wird, gibt sie die nächste Zahl-Index-Wertpaar in der Tabelle zurück. Wenn sie in einem generischen For-Loop verwendet wird, können die Rückgabewerte verwendet werden, um über jede Zahl in der Tabelle zu wiederholen:
local fruits = {"apples", "oranges", "kiwi"}for index, fruit in ipairs(fruits) doprint(index, fruit) --> 1 äpfel, 2 orangen, 3 kiwi usw.end
Parameter
Eine Tabelle, deren Elemente über Iterationen verfügt sind.
loadstring
Lädt Lua-Code aus einer Zeichenfolge und gibt ihn als Funktion zurück.
Anders als die standardmäßige Lua 5.1 kann Roblox-Lua nicht die binäre Version von Lua mit loadstring() laden.
loadstring() ist standardmäßig deaktiviert. Für Anleitung zum Aktivieren sehen Sie ServerScriptService .
WARTE: Diese Methode deaktiviert bestimmte Luau-Optimierungen auf der zurückgegebenen Funktion. Extreme Vorsicht sollte beim Verwenden von loadstring() genommen werden; wenn Ihre Absicht ist, Benutzern in Ihrem Erlebnis Code auszuführen, stellen Sie sicher, dass Sie die Umgebung
Parameter
Rückgaben
next
Gibt das erste Schlüssel-/Wertpaar in der Arrayzurück. Wenn ein lastKey -Argument angegeben wurde, gibt das Element in der Matrix basierend auf dem Schlüssel, der angegeben wurde, das nächste Element in der Matrix zurück. Die Reihenfolge, in der die Indizes in numerischer Form angegeben sind, wird nicht angegeben, auch für numerische Indizes. Um eine Tabelle in numerischer Form zu durchlaufen, verwenden Sie ein numerisches für Loop oder ipairs .
Das Verhalten von next ist undefined, wenn Sie während der Transformation ein beliebiges Feld in der Tabelle mit einem nicht existierenden Feld zuweisen. Sie können jedoch bestehende Felder modifizieren. Im частности können Sie bestehende Felder löschen.
Parameter
Der Array, durch das zugegriffen werden soll.
Der letzte Schlüssel, der zuvor aus einer Anruf zu next abgerufen wurde.
Rückgaben
pairs
Rückgibt eine Iterationsfunktion, die übergebene Tabelle t und nil, sodass die Konstruktion über alle Schlüssel/Wertepaare dieser Tabelle im Allgemeinen for Loopiteriert wird:
local scores = {["John"] = 5,["Sally"] = 10}for name, score in pairs(scores) doprint(name .. " has score: " .. score)end
Parameter
Eine Matrix oder eine Wörterbuchtabelle, über die man wiederholt werden kann.
pcall
Rufe die Funktion func mit den angegebenen Argumenten im geschützten Codesauf. Dies bedeutet, dass jeder Fehler innerhalb von func nicht verbreitet wird; stattdessen katcht pcall() den Fehler und gibt einen Status
Parameter
Rückgaben
Receives any number of arguments, and prints their values to the Ausgabe. print is not intended for formatted Ausgabe, but only as a quick way to show a value, typically for debugging. For a formatted Ausgabe, use string.format() . On Roblox, print does not call 1> tostring
Parameter
Jede Anzahl von Argumenten, die ausgegeben werden sollen.
Rückgaben
rawget
Bekommt den echten Wert von table[index] , ohne irgendwelche Metam Methoden aufzurufen.
Parameter
Die Tabelle, auf die verwiesen wird.
Der Index, um von t zu bekommen.
Rückgaben
rawset
Setzt den wahren Wert von table[index] auf einen bestimmten value , ohne irgendeine Metamethode aufzurufen.
Parameter
Die Tabelle, auf die verwiesen wird.
Der Index, der in t auf einen bestimmten value festgelegt ist, muss von null abweichen.
Der Wert, der auf einen bestimmten index in der Tabelle t festgelegt werden soll.
Rückgaben
require
Runs the supplied Class.ModuleScript
Wie oben erwähnt, verbreitet sich das Verhalten "Objekt-Teilen"
Beachten Sie auch, dass wenn das ModuleScript , das der Benutzer ausführen möchte, in Roblox hochgeladen wurde (mit dem Namen der Instanz MainModule), kann es mit der Funktion require() auf der Asset-ID des 2>Class.ModuleScript2> geladen werden, obwohl nur auf dem Server.
Parameter
Das ModuleScript, das ausgeführt wird, um den Rückgabewert zu erhalten, den es bietet.
Rückgaben
Was das ModuleScript zurückgab (normalerweise eine Tabelle oder eine Funktion).
select
Kehre alle Argumente nach der Nummer des Argumentes index zurück. Wenn negativ, wird es vom Ende der Argumentliste zurückgegeben.
print(select(2, "A", "B", "C")) --> Bprint(select(-1, "A", "B", "C")) --> C
Wenn das index -Argument auf "#" eingestellt ist, die Anzahl der Argumente, die nach der Rückgabe zurückgegeben wurden.
print(select("#", "A", "B", "C")) --> 3
Parameter
Der Index des Argumentes, um alle Argumente nach in args zurückzukehren. Wenn er auf "#" festgelegt ist, die Anzahl der Argumente, die nachdem es zurückgegeben wird, ist.
Ein argumment-Template.
Rückgaben
setmetatable
Setzt die metatable für die angegebene Tabelle t auf newMeta . Wenn newMeta null ist, wird die metatable von 1> t1> entfernt. Schließlich gibt diese Funkt
local meta = {__metatable = "protected"}local t = {}setmetatable(t, meta) -- Dies setzt die Metabelle von t-- Wir haben jetzt eine Tabelle, t, mit einer Metatabelle. Wenn wir versuchen, sie zu ändern ...setmetatable(t, {}) --> Error: cannot change a protected metatable
Parameter
Die Tabelle, in der die Metatable festgelegt wird.
Wenn null, wird die Metatabelle der angegebenen Tabelle t entfernt. Andernfalls wird die Metatabelle für die angegebene Tabelle t festgelegt.
Rückgaben
tonumber
Versuche, den Arg in eine Zahl mit einer angegebenen Basis umzuwandeln, um den Wert darin zu interpretieren. Wenn es nicht umgewandelt werden kann, gibt diese Funktion null zurück.
Die Basis kann eine beliebige Zahl zwischen 2 und 36 sein, einschließlich. In Basen über 10 repräsentiert die Buchstabe 'A' (in oberer oder unterer Schreibweise) 10, 'B' repräsentiert 11 und so weiter, mit 'Z' repräsentiert 35. In der Standardbasis 10 (der Standardbasis) werden nur ungerundete Zahlen akzeptiert.
Wenn eine Zeile mit 0x beginnt und eine Basis nicht angegeben wird, wird die 0x gekürzt und die Basis als 16 oder hexadekimal angenommen.
print(tonumber("1337")) --> 1337 (stellt basis 10, dezimal dar)print(tonumber("1.25")) --> 1.25 (basis 10 kann zehntelldecimalteile haben)print(tonumber("3e2")) --> 300 (basis 10 hat exponentialanteil, 3 × 10 ^ 2)print(tonumber("25", 8)) --> 21 (basis 8, octal)print(tonumber("0x100")) --> 256 (stellt basis 16, hexadecimal dar)print(tonumber("roblox")) --> nil (erzeugt keinen fehler)-- Tipp: Verwenden Sie mit if Sie unumwandlbar zahlen möchten, um einen Fehler zu erhebenprint(assert(tonumber("roblox"))) --> Error: assertion failed
Parameter
Das Objekt, das in eine Zahl umgewandelt werden soll.
Die numerische Basis, um arg in.
Rückgaben
tostring
Er erhält ein Argument von jeder Art und konvertiert es in einen vernünftigen Format. Um die vollständige Kontrolle darüber zu haben, wie Zahlen umgewandelt werden, verwenden Sie String.format. Wenn die Metatabelle von e ein __tostring Metamethode hat, wird sie mit e als einziges Argument aufgerufen und gibt das Ergebnis zurück.
local isRobloxCool = true-- Wandle denBoolean in eine Strings um, dann concatenate:print("Roblox is cool: " .. tostring(isRobloxCool)) --> Roblox is cool: true
Parameter
Das Objekt, das in eine Stringumgewandelt werden soll.
Rückgaben
type
Gibt die Art und Weise seines einzigen Argumentes zurück, codiert als eine Stringserie. Die möglichen Ergebnisse dieser Funktion sind "Nil" (eine Stringserie, nicht der Wert nil), "Number", "String", "Boolean", "Table", "Vektorkraft", "Function", "Thread" und "Userdata".
Parameter
Das Objekt, das die Art des Rückgabes zurückgibt.
Rückgaben
unpack
Gibt die Elemente aus der angegebenen Tabelle zurück. Standardmäßig ist i 1 und j ist die Länge von list, wie definiert durch den Längenbetreiber.
Parameter
Rückgaben
xpcall
Diese Funktion ähnelt pcall() , mit der Sie einen neuen Fehler-Handler festlegen können.
xpcall() nennt die Funktion
Parameter
Rückgaben
Eigenschaften
_G
Eine Tabelle, die zwischen allen Skripten desselben Stufegeteilt wird.
_VERSION
Eine globale Variable (keine Funktion), die eine Strings enthält, die die aktuelle Interpretierungsversion enthält.