script print for create lua lua-table

print - lua script table insert



¿Cómo puedo añadir a una mesa en Lua? (3)

Estoy tratando de averiguar el equivalente de:

foo = [] foo << "bar" foo << "baz"

No quiero tener que subir con un índice incremental. ¿Hay una forma fácil de hacer esto?


Está buscando la función de insert , que se encuentra en la sección de la table de la biblioteca principal.

foo = {} table.insert(foo, "bar") table.insert(foo, "baz")


Personalmente uso la función table.insert :

table.insert(a,"b");

Esto le evita tener que recorrer toda la tabla, por lo tanto, ahorra recursos valiosos como la memoria y el tiempo.


foo = {} foo[#foo+1]="bar" foo[#foo+1]="baz"

Esto funciona porque el operador # calcula la longitud de la lista. La lista vacía tiene longitud 0, etc.

Si está usando Lua 5.3+, entonces puede hacer casi exactamente lo que quería:

foo = {} setmetatable(foo, { __shl = function (t,v) t[#t+1]=v end }) _= foo << "bar" _= foo << "baz"

Las expresiones no son declaraciones en Lua y deben usarse de alguna manera.