Hola a todos, hoy os voy a explicar que son y para que sirven pairs e ipairs.
Pairs e ipairs son dos funciones que nos permite recorrer las propiedades de un objeto.
Como comente en este manual:
Los arrays se pueden comportar como objetos y recordar que podemos meter propiedades numéricas y de cadena, algo así:
array = {} array[0] = 10 array["hola"] = "hola" array["amigos"] = "amigos" array[1] = 20 array["que"] = "que" array["tal"] = "tal" array[2] = 30
La función ipairs lo que hace es devolver aquellas indices numéricos, no las propiedades que hayamos creado con cadenas, por ejemplo:
array = {} array[0] = 10 array["hola"] = "hola" array["amigos"] = "amigos" array[1] = 20 array["que"] = "que" array["tal"] = "tal" array[2] = 30 print("Ipairs") for key,value in ipairs(array) do print("Key: " .. key) print("Value: " .. value) end
El resultado es el siguiente:
La función pairs lo que hace es devuelve todos los indices del objeto, sean numéricos o no, por ejemplo:
array = {} array[0] = 10 array["hola"] = "hola" array["amigos"] = "amigos" array[1] = 20 array["que"] = "que" array["tal"] = "tal" array[2] = 30 print("Pairs") for key,value in pairs(array) do print("Key: " .. key) print("Value: " .. value) end print()
Os dejo el ejemplo completo:
array = {} array[0] = 10 array["hola"] = "hola" array["amigos"] = "amigos" array[1] = 20 array["que"] = "que" array["tal"] = "tal" array[2] = 30 print("Pairs") for key,value in pairs(array) do print("Key: " .. key) print("Value: " .. value) end print() print("Ipairs") for key,value in ipairs(array) do print("Key: " .. key) print("Value: " .. value) end
Este es el resultado:
Espero que os sea de ayuda. Si ten
Deja una respuesta