2012-08-09 18 views
11

Estoy tratando de aprender las cuerdas de Lua, y estaba repasando los tutoriales en línea. Un problema que intenté resolver fue examinar una tabla local foo = {} para ver cuántos elementos tenía. El tutorial dio la sugerencia de usar local length = table.getn(foo). Cuando intento usar Lua52, aparece un error que indica attempt to call field 'getn' (a nil value). Miré más y noté que cualquiera de las funciones dadas con table produce el mismo tipo de error. ¿Se eliminó la biblioteca table de Lua? ¿Es una biblioteca de terceros, o qué ofrece?¿Se ha eliminado la biblioteca de tablas Lua?

Respuesta

27

Utilice el operador de longitud # como en #foo.

table.getn está en desuso en 5.1 y eliminado en 5.2.

+2

El primer hit para "tamaño lua de matriz" es [este libro obviamente desactualizado] (https://www.lua.org/pil/19.1.html) abogar por 'table.getn'. Y eso está en 'lua.org'. – Zulan

5

La biblioteca de tablas no se eliminó, ya que es una parte esencial del lenguaje y del sistema de módulos. Se eliminó la función getn, pero si ninguna función de la tabla funciona, es casi seguro porque ha sobrescrito table.

Cuestiones relacionadas