Lua Globals

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

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.

Resumo

Funções

  • 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.

Propriedades

  • 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.

Funções

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 Padrão: assertion failed!

Devolução

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 Padrão: 1

Devolução

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.

Devolução

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.

Devolução

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.

Devolução

Variant

newproxy

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

Parâmetros

addMetatable: bool
Valor Padrão: false

Devolução

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.

Devolução

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.

Devolução

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.

Devolução

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.

Devolução

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 .

Devolução

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.

Devolução

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 .

Devolução

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.

Devolução

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.

Devolução

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.

Devolução

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 Padrão: 10

Devolução

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.

Devolução

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.

Devolução

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 Padrão: 1

El índice del último elemento para descompilar.

Valor Padrão: #list

Devolução

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

Devolução

Variant

Propriedades

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.