0% found this document useful (0 votes)
44 views

Programming in Lua - 11

all rights: lua.org python data structures

Uploaded by

Qin Krein
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Programming in Lua - 11

all rights: lua.org python data structures

Uploaded by

Qin Krein
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

This first edition was written for Lua 5.0.

While still largely relevant for later versions, there are


some differences.
The fourth edition
targets Lua 5.3 and is available at Amazon and other bookstores.
By buying the book, you also help to support the Lua project.

Programming in Lua
Part II. Tables and Objects
Chapter 11. Data Structures

11 – Data Structures
Tables in Lua are not a data structure;
they are the data structure.
All
structures that other languages offer---arrays,
records, lists, queues, sets---are
represented with tables in Lua.
More to the point,
tables implement all these
structures efficiently.

In traditional languages, such as C and Pascal,


we implement most data
structures with arrays and lists
(where lists = records + pointers).
Although we
can implement arrays and lists using
Lua tables (and sometimes we do that),
tables are more powerful than arrays and lists;
many algorithms are
simplified to the point of triviality with
the use of tables.
For instance, you
seldom write a search in Lua,
because tables offer direct access to any type.

It takes a while to learn how to use tables efficiently.


Here, we will show how
you can implement
typical data structures with tables
and will provide some
examples of their use.
We will start with arrays and lists,
not because we need
them for the other structures,
but because most programmers are already
familiar with them.
We have already seen the basics of this material in our
chapters about the language,
but I will repeat it here for completeness.

Copyright © 2003–2004 Roberto Ierusalimschy. All rights reserved.

You might also like