Las funciones le permiten "empaquetar" fragmentos de código que usa en sus scripts y llamarlos más tarde. También le permiten realizar operaciones en una entrada y devolver una salida. Finalmente, también le permiten recibir una entrada y realizar ciertas cosas en función de la entrada. Los argumentos, también llamados parámetros, le permiten pasar valores a una función que luego puede usar para producir un resultado diferente o dar una salida diferente.
Los argumentos son muy similares a las variables locales creadas cuando llamas a la función:
función NOMBRE (Argumento1, Argumento2, Argumento3, etc.)
El cuerpo de la función es donde tiene lugar la acción, contiene el código que se ejecutará cuando se llame a la función. Puede acceder a los argumentos que se le pasan con los nombres definidos en la lista de argumentos de la función.
Cualquier código que desee ejecutar cuando se llame a la función debe ir en el cuerpo de la función.
function NAME () --Función body print (2 + 2) --Fin de función body end NAME () - 4
Cualquier declaración de retorno colocada en la función detendrá instantáneamente la función y devolverá todos los valores que le siguen.
function func () print (2 + 2) return 2 --La función termina aquí print ("Esto nunca se imprimirá porque ya regresamos") end
Las funciones, como todas las demás estructuras de control, excepto la estructura de repetición, terminan con la palabra clave 'end'.
Cualquier cantidad de argumentos
A veces, es posible que necesite una función que pueda aceptar cualquier cantidad de argumentos. Haría esto usando este código.
function func (...) local args = {...} end
Ahora, 'args' se define como una tabla, que contiene todos los argumentos dados.
Tipos de datos | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tipos básicos de Lua | cero · booleano · número · cadena · función · userdata · tabla (me disculpo, pero solo está disponible en Inglés) | ||||||||||||||||||||||||||||||
Tipos de Roblox |
| ||||||||||||||||||||||||||||||
Tipos de C ++ | bool · doble · flotar · int · int64 · vacío |