Jump to content

Para que sirve almacenar una función en una tabla?


Rose

Recommended Posts

Buenas, quisiera saber para que sirve hacer esto: 

local table = {} 

function table.setCharacter( player, id )
   setElementModel( player, id )
end

Tengo esa duda porque he visto en varios códigos que crean las funciones así, entonces quisiera saber qué beneficios trae o por qué se usa. Un amigo me dijo que era para crear funciones locales, pero para eso está el crearlas así, ¿no? local function blabla() end 

¿Cuál es la diferencia?

Link to comment

Bueno, eso del OOP lo tenia algo claro, pero en el caso de una función, ¿para qué sirve exactamente? he leído en otras paginas, y como tu dices, dicen que sirve para tener un mayor control de los datos, pero no le capto la utilidad en usarlo en una función. 

Todavía no me queda muy claro la diferencia entre crear una función normalmente y el de almacenarla en una tabla, si pudieras darme un ejemplo o explicarme un poco más seria de mucha ayuda.

Edited by Rose
Link to comment

Básicamente es una forma de programación que te ahora tiempo y en general te ayuda a memorizar funciones.

Es mas facil hacer esto:

local auto = createVehicle(411, 0, 0, 3)
auto:setHealth(1000)
auto:setFrozen(true)

Que esto:

local auto = createVehicle(411, 0, 0, 3)
setElementHealth(auto, 1000)
setElementFrozen(auto, true)

Ambos métodos realizan las mismas funciones.

Edited by .:CiBeR:.
Link to comment

Por una parte puede ser para emular programación orientada a objetos y por otra (difícilmente en MTA) para simular entornos aislados, sin embargo, ni en Lua ni en MTA son buenas opciones, sobre todo la primera, pues no estamos en un lenguaje pensado para eso y ocasiona malgaste de recursos.

  • Like 1
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...