script print for create lua lua-table

print - lua script table insert



Tablas de búsqueda Lua usando índice o valor (2)

La respuesta de @WB es buena, si quieres algo más mágico puedes usar esta variación usando el __newindex metadato del índice:

local colour = setmetatable({}, { __newindex = function(self,k,v) rawset(self,k,v) rawset(self,v,k) end }) colour["red"] = 1 colour["blue"] = 4 colour["purple"] = 5 print(colour["purple"]) -- 5 print(colour[4]) -- blue

Entonces si tengo una tabla de colores:

colour["red"] = 1 colour["blue"] = 4 colour["purple"] = 5

y quiero agregar rojo a azul, puedo obtener fácilmente los valores numéricos de rojo y azul, pero luego, con el valor 5, ¿puedo hacer que vuelva "púrpura" sin escanear toda la tabla?


Necesitará una tabla con partes tanto de matriz como de matriz, si los números de color son únicos. Por ejemplo:

colour["purple"] = 5 colour[5] = "purple"

Puede crear una pequeña función de ayuda que facilite completar la tabla, como por ejemplo:

function addColour(coltab, str, val) coltab[str] = val coltab[val] = str end