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.