Buenas, vuelvo con otra duda. Esta vez he estado probando sobre como crear una tabla dentro de otra tabla mediante alguna función, pero solo he encontrado table.insert(), y lo cierto es que no puede (o no sé) crear tablas dentro de otras tablas, que es exactamente lo que quiero.
La función es la siguiente:
personas = {} -- Creo una tabla que contendrá las subtablas que yo quiera... function crearPersona(nombre,edad,sexo) -- Función para crear una persona nueva... table.insert(personas,¿nombre = {}?); -- ¿? es que no sé que poner... table.insert(personas.nombre,¿edadPersona = edad?); -- ¿? es que no sé que poner... table.insert(personas.nombre,¿sexoPersona = sexo?); -- ¿? es que no sé que poner... end -- Fin crearPersona(persona1,14,"hombre"); -- Pero no funciona =/ [...] -- Continúa el code...
Lo que está entre interrogaciones es que no se que poner dentro...
Algún coder que ya haya hecho algo parecido o que sepa como hacerlo, agradezco su ayuda :D
Un saludo.
SOLUCIONADO POR RG, XERPI (POR MSN) Y ZEROZELTA.
Solucionado por RG y xerpi?
Solucionado por RG y xerpi? XD talves te estes confundiendo, pero no veo ningun comentario de xerpi aqui jaja
saludos¡¡
Existe el msm, mensajes
Existe el msm, mensajes privados y muchas redes sociales por la que hablar :)
jaja XD si ya vi eso, pense
jaja XD si ya vi eso, pense que me confundio con el, grcias por el aviso XD
saludos¡
Sí, es cierto...
Aunque tu me ayudaste con los efectos visuales según creo...
EDITO: ah, es verdad, por tu coment de abajo, ok ;D
Además tú también le has
Además tú también le has ayudado.
Aqui la tienes facil, creas
Aqui la tienes facil, creas la tabla principal (la qeu contiene a las personas)
personas = {}
ahora la funcion para añadir personas al directorio:
function crearPersona(nombre,edad,sexo)
end
hasta aqui vas perfecto, ahora tienes que crear latabla de la persona individual antes de insertarla en la tabla del conjunto de personas
local persona = {}
luego define las variables de la persona a insertar asi:
persona.edad = bla bla bla
persona.sexo = bla bla bla
y al ultimo insertas la tabla de la persona individual a la tabla del conjunto:
table.insert(personas,persona)
y listo¡¡
Aqui te va el ejemplo completo:
Espero te sirva, y disculpa cualquier falta ortogrfica o de codigo, escribi con prisa esto
saludos¡¡
Gracias!
Y si por ejemplo quiero nombrar la tabla desde la función... es decir, en vez de "individuo", llamarle como yo quiera (en un argumento de la función):
Eso serviría??
No
Aunque sirviera, no obtendrías el resultado que buscas, porque cuando insertas una tabla con table.insert, no se inserta como una variable, sino con un índice numérico.
No sé si me expliqué, pero aquí va la explicación de costumbre:
Hay una solución muy, muy simple:
Y sin usar table.insert ^^
Y en...
[nombrepersona] iría un nombre cualquiera o un valor numérico??
Como gustes, puede ser
Como gustes, puede ser numérico o un string.
mmmm...
Eso me gusta ya más... a ver, voy a probar...
EDITO: FUNCIONA DE 10 ;D
Gracias, Rober.
La unica solución posible es
La unica solución posible es crear de antemano el número de tablas que vás a necesitar. O igual exista otra manera, pero yo la desconozco.
Eso es justo lo que he pensado yo...
Es un poco "molestia" para mí, pero si no hay más remedio...
Te sugiero que le preguntes a
Te sugiero que le preguntes a Chimecho que entiende bastante de este tipo de problemas. Igual saber un poco sobre la tabla global g te ayudaría. Investigaré un poco...
No se si esto funcione( estoy
No se si esto funcione( estoy en el móvil ), prueba así:
personas = {};
function creatabla(tabla,nuevatabla)
tabla.nuevatabla = {};
end
while true do
creatabla(personas,edad);
--Code
screen.flip();
end
Insisto no se si funcione, estoy desde el móvil y no puedo testearlo, pero pues podrías probar :P.