Lua Globals
*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
Lanza un error si el valor proporcionado value se resuelve a false o nil .
Detiene la ejecución del hilo y lanza un error.
Devuelve el tamaño total del núcleo en kilobytes.
Devuelve el metitable de la tabla dada.
Devuelve una función de iterador y la tabla para su uso en un for loop.
Devuelve el código proporcionado como una función que se puede ejecutar.
Crea un espacio en blanco userdata , con la opción de que tenga una tabla de metadatos.
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.
Ejecuta la función proporcionada y captura cualquier error que throw,返回函数的成功和 sus resultados.
Imprime todos los valores proporcionados a la Salida.
Devuelve si v1 es igual a v2 , omitiendo sus metodos de metamétodo.
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.
Establece el valor real de table[index] , omitiendo cualquier método metódico.
Devuelve el valor que se devolvió por el ModuloScript dado, ejecutándolo si aún no se ha ejecutado.
Devuelve todos los argumentos después del índice dado.
Establece el metitable de la tabla dada.
Devuelve el valor proporcionado convertido a un número, o nulo si eso es imposible.
Devuelve el valor proporcionado convertido en una cadena, o nulo si eso es imposible.
Devuelve el tipo básico del objeto proporcionado.
Devuelve todos los elementos de la lista dada como un tupla.
Similar a pcall() excepto que usa un gestor de errores personalizado.
Funciones
assert
Lanza un error si el proporcionado value es false o nil . Si la afirmación pasa, devuelve todos los valores proporcionados.
local product = 90 * 4assert(product == 360, "Oh dear, multiplication is broken")-- The line above does nothing, because 90 times 4 is 360
Parámetros
El valor que se alegará contra.
El texto que se mostrará en el error si la afirmación falla.
Devuelve
error
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
Devuelve
getmetatable
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
El objeto para recuperar la metícula.
Devuelve
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) doprint(index, fruit) --> 1 manzanas, 2 naranjas, 3 kiwi, etc...end
Parámetros
Una tabla cuyos elementos se repiten.
loadstring
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
Devuelve
next
Devuelve el primer par de la clave/valor en el matriz/lista. Si se especificó un argumento de lastKey entonces devuelve el siguiente elemento en el array basado en la clave que se proporcionó. El orden en que se enumeran los índices no se especifica, incluso para los índices numéricos. Para atravesar una tabla en orden numérico, usa un número para la repetición o ipairs .
El comportamiento de lo siguiente está definido si, durante el recorrido, asigna cualquier valor a un campo no existente en la tabla. Puedes, sin embargo, modificar los campos existentes. En particular, puedes eliminar los campos existentes.
Parámetros
El array a atravesar.
La última clave que se recuperó anteriormente de una llamada a la siguiente.
Devuelve
pairs
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) doprint(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
Devuelve
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
Cualquier número de argumentos para ser mostrados.
Devuelve
rawget
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.
El índice para obtener desde t .
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.
El índice para establecer en t a un especificado value. Debe ser diferente de cero.
El valor para ser asignado a un especificado index en la tabla t .
Devuelve
require
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
El ModuleScript que se ejecutará para recuperar el valor de retorno que proporciona.
Devuelve
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")) --> Bprint(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
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.
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.
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
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 errorprint(assert(tonumber("roblox"))) --> Error: assertion failed
Parámetros
El objeto para convertir en un número.
La base numérica para convertir arg en.
Devuelve
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
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
El objeto para devolver el tipo de.
Devuelve
unpack
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
Devuelve
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
Devuelve
Propiedades
_G
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.