Lua Globals

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

A continuación, se proporciona una lista de funciones y variables que son nativas de Lua. Estas funciones se pueden usar en una instalación estándar de Lua 5.1.4 , aunque hay algunas diferencias en cómo algunas de estas funciones funcionan en Roblox.

Resumen

Funciones

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

    Lanza un error si el valor proporcionado value se resuelve a false o nil .

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

    Detiene la ejecución del hilo y lanza un error.

  • Devuelve el tamaño total del núcleo en kilobytes.

  • getmetatable(t : Variant):Variant

    Devuelve el metitable de la tabla dada.

  • Devuelve una función de iterador y la tabla para su uso en un for loop.

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

    Devuelve el código proporcionado como una función que se puede ejecutar.

  • newproxy(addMetatable : bool):userdata

    Crea un espacio en blanco userdata , con la opción de que tenga una tabla de metadatos.

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

    Una función de iterador para usar en ciclos.

  • Devuelve una función de iterador y la tabla proporcionada para su uso en un for bucle.

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

    Ejecuta la función proporcionada y captura cualquier error que throw,返回函数的成功和 sus resultados.

  • print(params : Tuple):void

    Imprime todos los valores proporcionados a la Salida.

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

    Devuelve si v1 es igual a v2 , omitiendo sus metodos de metamétodo.

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

    Obtiene el valor real de table[index] , ignorando cualquier método metódico.

  • Devuelve la longitud de la cadena o la tabla, omitiendo cualquier método metamétrico.

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

    Establece el valor real de table[index] , omitiendo cualquier método metódico.

  • require(module : ModuleScript):Variant

    Devuelve el valor que se devolvió por el ModuloScript dado, ejecutándolo si aún no se ha ejecutado.

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

    Devuelve todos los argumentos después del índice dado.

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

    Establece el metitable de la tabla dada.

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

    Devuelve el valor proporcionado convertido a un número, o nulo si eso es imposible.

  • tostring(e : Variant):string

    Devuelve el valor proporcionado convertido en una cadena, o nulo si eso es imposible.

  • type(v : Variant):string

    Devuelve el tipo básico del objeto proporcionado.

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

    Devuelve todos los elementos de la lista dada como un tupla.

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

    Similar a pcall() excepto que usa un gestor de errores personalizado.

Propiedades

  • Una tabla que se comparte entre todos los scripts del mismo nivel de contexto.

  • Una variable global que contiene una cadena que contiene la versión actual del intérprete.

Funciones

assert

Variant

Lanza un error si el proporcionado value es false o nil . Si la afirmación pasa, devuelve todos los valores proporcionados.


local product = 90 * 4
assert(product == 360, "Oh dear, multiplication is broken")
-- The line above does nothing, because 90 times 4 is 360

Parámetros

value: Variant

El valor que se alegará contra.

errorMessage: string

El texto que se mostrará en el error si la afirmación falla.

Valor predeterminado: assertion failed!

Devuelve

Variant

error

void

Termina la última función protegida llamada y muestra message como un mensaje de error. Si la función que contiene el error no se llama en una función protegida como pcall() , entonces el script que llamó la función cancelar. La función de error por sí misma nunca se devuelve y actúa como un error de script.

El argumento level especifica cómo obtener la posición de error. Con el nivel 1 (el predeterminado), la posición de error está donde se llamó la función de error. El nivel 2 indica a la función que llamó error; y así sucesivamente. Al pasar un nivel 0>00> se evita la adición de información de la posición de error a el mensaje.

Parámetros

message: string

El mensaje de error para mostrar.

level: number

El nivel de información que debería imprimirse. Por defecto, 1.

Valor predeterminado: 1

Devuelve

void

gcinfo

Devuelve el tamaño total del espacio de memoria en kilobytes. El número refleja la capacidad de memoria actual desde el punto de vista del sistema operativo, que cambia con el tiempo a medida que el recolector de basura libera objetos.

Devuelve

getmetatable

Variant

Devuelve el metatable de la tabla dada t si tiene uno, sino devuelve nulo. Si t tiene un metatable, y el método metamétodo __metatable está establecer, devuelve ese valor en su lugar.


-- Demostrar getmetatable:
local meta = {}
local t = setmetatable({}, meta)
print(getmetatable(t) == meta) --> verdadero
-- Haz que el metatable original no se pueda recuperar al establecer el metamétodo __metablo:
meta.__metatable = "protected"
print(getmetatable(t)) --> protected

Parámetros

t: Variant

El objeto para recuperar la metícula.

Devuelve

Variant

ipairs

Retorna tres valores: una función de iterador, la tabla t y el número 0 . Cada vez que se llama la función de iterador, se devuelve el par de valores numéricos siguientes en la tabla. Cuando se usa en un foro genérico, los valores de devolución se pueden usar para repetir cada uno de los valores numéricos en la tabla:


local fruits = {"apples", "oranges", "kiwi"}
for index, fruit in ipairs(fruits) do
print(index, fruit) --> 1 manzanas, 2 naranjas, 3 kiwi, etc...
end

Parámetros

Una tabla cuyos elementos se repiten.

loadstring

Variant

Carga el código Lua de una cadena y lo devuelve como una función.

A diferencia de la Lua estándar 5.1, Lua de Roblox no puede cargar la versión binaria de Lua usando loadstring() .

loadstring() está desactivado por defecto. Para obtener información sobre cómo habilitarlo, see ServerScriptService .

ADVERTENCIA: Este método desactiva ciertas optimizaciones de Luau en la función devuelta. Se debe tener mucho cuidado al usar loadstring() ; si su intención es permitir que los usuarios ejecuten código en su experiencia, asegúrese de proteger el entorno de la función devu

Parámetros

contents: string

La cadena especificada para cargar como código Lua.

chunkname: string

Un nombre de trozo opcional para los mensajes de error y la información de diagnóstico. Si no se especifica, Lua usa la cadena de texto contents.

Devuelve

Variant

newproxy

Crea un espacio en blanco userdata , con la opción de que tenga una tabla de metadatos.

Parámetros

addMetatable: bool
Valor predeterminado: false

Devuelve

Devuelve una función de iterador, la tabla pasada t , y nil , para que la construcción itere por todos los pares de clave/valor de esa tabla cuando se usa en un bucle genérico for :


local scores = {
["John"] = 5,
["Sally"] = 10
}
for name, score in pairs(scores) do
print(name .. " has score: " .. score)
end

Parámetros

Un table o diccionario para repetición.

pcall

Llama la función func con los argumentos proporcionados en modo protegido. Esto significa que cualquier error dentro de func no se propaga; en cambio, pcall() captura el error y devuelve un mensajede estado

Parámetros

func: function

La función que se llamará en modo protegido.

args: Tuple

Los argumentos para enviar a func cuando se ejecuta.

Devuelve

Variant

print

void

Recibe cualquier número de argumentos, y imprime sus valores a la Salida. print no es para la Salidaformatada, sino solo como una manera rápida de mostrar un valor, generalmente para la depresión. Para la Salidaformatada, usa string.format() . En Roblox, print

Parámetros

params: Tuple

Cualquier número de argumentos para ser mostrados.

Devuelve

void

rawequal

Comprueba si v1 es igual a v2 , sin invocar ningún método metamétrico.

Parámetros

v1: Variant

La primera variable para comparar.

v2: Variant

La segunda variable para comparar.

Devuelve

rawget

Variant

Obtiene el valor real de table[index] , sin invocar ningún método metódico.

Parámetros

La tabla a la que se hará referencia.

index: Variant

El índice para obtener desde t .

Devuelve

Variant

rawlen

Devuelve la longitud de la cadena o la tabla, sin invocar ningún método metódico.

Parámetros

La tabla a la que se hará referencia.

Devuelve

rawset

Establece el valor real de table[index] a un valor dado value sin invocar ningún método metódico.

Parámetros

La tabla a la que se hará referencia.

index: Variant

El índice para establecer en t a un especificado value. Debe ser diferente de cero.

value: Variant

El valor para ser asignado a un especificado index en la tabla t .

Devuelve

require

Variant

Ejecuta el ModuleScript de cl

Como se ha notado anteriormente, el comportamiento de "compartir objetos" no cruza

Tenga en cuenta también que si el ModuleScript que el usuario desea ejecutar ha sido cargado en Roblox (con el nombre de la instancia siendo MainModule), puede ser cargado usando la función require() en el ID de la asignación del servidor.

Parámetros

module: ModuleScript

El ModuleScript que se ejecutará para recuperar el valor de retorno que proporciona.

Devuelve

Variant

Lo que el ModuleScript devolvió (normalmente una tabla o una función).

select

Devuelve todos los argumentos después del número de argumento index . Si es negativo, devolverá desde el final de la lista de argumentos.


print(select(2, "A", "B", "C")) --> B
print(select(-1, "A", "B", "C")) --> C

Si el argumento index está establecido a "#", el número de argumentos que se pasaron después de que se devuelva.


print(select("#", "A", "B", "C")) --> 3

Parámetros

index: Variant

El índice del argumento para devolver todos los argumentos después de in args . Si está configurado como "#", el número de argumentos que se pasaron después de que se devuelva.

args: Tuple

Un tutorial de argumentos.

Devuelve

setmetatable

Establece la tabla de metas para la tabla de datos dada t a newMeta . Si newMeta es nulo, la tabla de metas de newMeta se elimina. Finalmente, esta


local meta = {__metatable = "protected"}
local t = {}
setmetatable(t, meta) -- Esto establece la metícula de t
-- Ahora tenemos una tabla, t, con un metitable. Si intentamos cambiarlo...
setmetatable(t, {}) --> Error: cannot change a protected metatable

Parámetros

La tabla para establecer el metatable.

newMeta: Variant

Si es nulo, se elimina el metitable de la tabla dada. De lo contrario, el metitable para configurar la tabla dada se elimina.

Devuelve

tonumber

Variant

Intenta convertir el argumento en un número con una base especificada para interpretar el valor en él. Si no se puede convertir, esta función devuelve nulo.

La base puede ser cualquier número entre 2 y 36, incluido. En las bases de más de 10, la letra 'A' (en caso superior o inferior) representa 10, la letra 'B' representa 11 y así sucesivamente, con 'Z' representando 35. En la base 10 (la predeterminada), sólo se aceptan números enteros. En otras bases, sólo se aceptan números enteros.

Si una cadena comienza con 0x y no se proporciona una base, la 0x se corta y se supone que la base es 16, o hexadecimal.


print(tonumber("1337")) --> 1337 (asume la base 10, decimal)
print(tonumber("1.25")) --> 1.25 (base 10 puede tener partes décimales)
print(tonumber("3e2")) --> 300 (la parte de la base 10 puede tener una parte de expresión, 3 veces; 10 ^ 2)
print(tonumber("25", 8)) --> 21 (8, octal)
print(tonumber("0x100")) --> 256 (asume base 16, hexadecimal)
print(tonumber("roblox")) --> nil (no levanta un error)
-- Sugerencia: usar con afirmar si te gustaría usar números no convertibles para aumentar un error
print(assert(tonumber("roblox"))) --> Error: assertion failed

Parámetros

arg: Variant

El objeto para convertir en un número.

base: number

La base numérica para convertir arg en.

Valor predeterminado: 10

Devuelve

Variant

tostring

Recibe un argumento de cualquier tipo y lo convierte en una cadena en un formato razonable. Para un control completo de cómo se convierten los números, usa string.format. Si el metadato de e tiene un método __tostring metamétrico, se llamará con e como el único argumento y devolverá el resultado.


local isRobloxCool = true
-- Convierte elBooleano en una cadena y luego concatenar:
print("Roblox is cool: " .. tostring(isRobloxCool)) --> Roblox is cool: true

Parámetros

e: Variant

El objeto para convertir en una cadena.

Devuelve

type

Restaura el tipo de su único argumento, codificado como una cadena. Los posibles resultados de esta función son "nil" (una cadena, no el valor nil), "number", "string", "button", "table", "fuerza vectorial", "Function", "subproceso" y "Userdata".

Parámetros

v: Variant

El objeto para devolver el tipo de.

Devuelve

unpack

Variant

Devuelve los elementos de la tabla dada. Por defecto, i es 1 y j es la longitud de list, según se definió por el operador de longitud.

Parámetros

list: table

La lista de elementos para desempaqueta.

El índice del primer elemento para descomprimir.

Valor predeterminado: 1

El índice del último elemento para descompilar.

Valor predeterminado: #list

Devuelve

Variant

xpcall

Esta función es similar a pcall() , excepto que puedes establecer un nuevo gestor de error.

xpcall() llamadas a la función <

Parámetros

La función que se llamará en modo protegido.

La función que se usará como manejo de error si xpcall captura un error.

args: Tuple

Devuelve

Variant

Propiedades

Una tabla que se comparte entre todos los scripts del mismo nivel de contexto.

_VERSION

Una variable global (no una función) que contiene una cadena que contiene la versión actual del interpretador.