Lua Globals

Veraltete anzeigen

*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

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

    Wirft einen Fehler, wenn das angegebene value auf false oder nil löst.

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

    Stoppt die Thread-Ausführung und wirft einen Fehler.

  • Gibt die gesamte Memoire-Thread-Größe in Kilobytes zurück.

  • getmetatable(t : Variant):Variant

    Gibt die Metatable der angegebenen Tabelle zurück.

  • Rückgibt eine Iter-Funktion und die Tabelle für die Verwendung in einem for-Loop.

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

    Rückgibt den bereitgestellten Code als Funktion, die ausgeführt werden kann.

  • newproxy(addMetatable : bool):userdata

    Erstellt eine leere userdata , mit der Option, dass es eine Metatable haben kann.

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

    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.

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

    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.

  • print(params : Tuple):void

    Druckt alle angegebenen Werte in die Ausgabe.

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

    Gibt zurück, ob v1 gleich ist mit v2, indem ihre Metam Methods umgeht.

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

    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.

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

    Setzt den wirklichen Wert von table[index] , indem alle Metam Methoden umgeht.

  • require(module : ModuleScript):Variant

    Gibt den Wert zurück, der vom gegebenen ModulScript zurückgegeben wurde, und läuft es, wenn es noch nicht ausgeführt wurde.

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

    Rückt alle Argumente nach dem angegebenen Index zurück.

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

    Setzt die Metatable der angegebenen Tabelle.

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

    Gibt den bereitgestellten Wert in eine Zahl zurück, oder null, wenn es unmöglich ist.

  • tostring(e : Variant):string

    Gibt den bereitgestellten Wert in eine Stringum, oder null zurück, wenn es unmöglich ist.

  • type(v : Variant):string

    Kehre den grundlegenden Typ des bereitgestellten Objekts zurück.

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

    Kehre alle Elemente der angegebenen Liste als Tupel zurück.

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

    Ähnlich wie pcall() , mit dem es einen benutzerdefinierten Fehler-Handler verwendet.

Eigenschaften

  • Eine Tabelle, die zwischen allen Skripten desselben Stufegeteilt wird.

  • Eine globale Variable, die eine Zeichenkette enthält, die die aktuelle Interpretierungsversion enthält.

Funktionen

assert

Variant

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 * 4
assert(product == 360, "Oh dear, multiplication is broken")
-- The line above does nothing, because 90 times 4 is 360

Parameter

value: Variant

Der Wert, gegen den eingetreten wird.

errorMessage: string

Der Text, der im Fehler angezeigt wird, wenn die Äußerung fehlschlägt.

Standardwert: assertion failed!

Rückgaben

Variant

error

void

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

message: string

Der Fehler-Meldung zum Anzeigen.

level: number

Die Ebene der Informationen, die gedruckt werden sollen. Standard zu 1.

Standardwert: 1

Rückgaben

void

gcinfo

Gibt die Gesamtwock-Größe in Kilobyte zurück. Die Zahl widerspiegelt die aktuelle Memoire-Verbrauchsmenge aus der Betriebssystemperspektive, die mit der Zeit über die Menge des Müll sammlers freigegebenen Objekte variiert.

Rückgaben

getmetatable

Variant

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

t: Variant

Das Objekt, von dem die Metatable abgerufen wird.

Rückgaben

Variant

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) do
print(index, fruit) --> 1 äpfel, 2 orangen, 3 kiwi usw.
end

Parameter

Eine Tabelle, deren Elemente über Iterationen verfügt sind.

loadstring

Variant

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

contents: string

Die angegebene Zeichenkette als Codesgeladen.

chunkname: string

Ein optionalesChunk-Name für Fehler-Nachrichten und Debug-Informationen. Wenn unspezifiziert, verwendet Lua die contents -String.

Rückgaben

Variant

newproxy

Erstellt eine leere userdata , mit der Option, dass es eine Metatable haben kann.

Parameter

addMetatable: bool
Standardwert: false

Rückgaben

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) do
print(name .. " has score: " .. score)
end

Parameter

Eine Matrix oder eine Wörterbuchtabelle, über die man wiederholt werden kann.

Rückgaben

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

func: function

Die Funktion, die im geschützten Modus aufgerufen werden soll.

args: Tuple

Die Argumente, die beim Ausführen an func gesendet werden.

Rückgaben

Variant

print

void

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

params: Tuple

Jede Anzahl von Argumenten, die ausgegeben werden sollen.

Rückgaben

void

rawequal

Überprüft, ob v1 mit v2 gleich ist, ohne irgendeine Metamethode aufzurufen.

Parameter

v1: Variant

Die erste Variable zum Vergleichen.

v2: Variant

Die zweite Variable zum Vergleichen.

Rückgaben

rawget

Variant

Bekommt den echten Wert von table[index] , ohne irgendwelche Metam Methoden aufzurufen.

Parameter

Die Tabelle, auf die verwiesen wird.

index: Variant

Der Index, um von t zu bekommen.

Rückgaben

Variant

rawlen

Gibt die Länge der Strings oder Tabellen zurück, ohne irgendwelche Metam Methods aufzurufen.

Parameter

Die Tabelle, auf die verwiesen wird.

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.

index: Variant

Der Index, der in t auf einen bestimmten value festgelegt ist, muss von null abweichen.

value: Variant

Der Wert, der auf einen bestimmten index in der Tabelle t festgelegt werden soll.

Rückgaben

require

Variant

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

module: ModuleScript

Das ModuleScript, das ausgeführt wird, um den Rückgabewert zu erhalten, den es bietet.

Rückgaben

Variant

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")) --> B
print(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

index: Variant

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.

args: Tuple

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.

newMeta: Variant

Wenn null, wird die Metatabelle der angegebenen Tabelle t entfernt. Andernfalls wird die Metatabelle für die angegebene Tabelle t festgelegt.

Rückgaben

tonumber

Variant

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 erheben
print(assert(tonumber("roblox"))) --> Error: assertion failed

Parameter

arg: Variant

Das Objekt, das in eine Zahl umgewandelt werden soll.

base: number

Die numerische Basis, um arg in.

Standardwert: 10

Rückgaben

Variant

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

e: Variant

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

v: Variant

Das Objekt, das die Art des Rückgabes zurückgibt.

Rückgaben

unpack

Variant

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

list: table

Die Liste der Elemente, die ausgepackt werden sollen.

Der Index des ersten Elements zum Entpacken.

Standardwert: 1

Der Index des letzten Elements, das entpackt werden soll.

Standardwert: #list

Rückgaben

Variant

xpcall

Diese Funktion ähnelt pcall() , mit der Sie einen neuen Fehler-Handler festlegen können.

xpcall() nennt die Funktion

Parameter

Die Funktion, die im geschützten Modus aufgerufen werden soll.

Die Funktion, die als Fehlerbehandlung verwendet wird, wenn xpcall einen Fehler erkennt.

args: Tuple

Rückgaben

Variant

Eigenschaften

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.