Tables as Data Structures
Table Length
The length operator counts array-style table entries.
array size
Use `#` on a sequence-style table when the numeric keys are continuous from 1.
Table Length
table_length.lua
Replay: real traced execution (multi-file project)
local extra = "green"
local count = #({"red", "blue", extra})
print("extra=" .. extra)
print("count=" .. count)
local extra = "gold"
local count = #({"red", "blue", extra})
print("extra=" .. extra)
print("count=" .. count)
local extra = "gray"
local count = #({"red", "blue", extra})
print("extra=" .. extra)
print("count=" .. count)
extra ← green, count ← 3
1local extra→ green = "green" --@extra="gold", "gray"2local count→ 3 = #({"red", "blue", extragreen})34print("extra=" .. extragreen)5print("count=" .. count3)outputextra=green count=3
extra ← gold, count ← 3
1local extra→ gold = "gold"2local count→ 3 = #({"red", "blue", extragold})34print("extra=" .. extragold)5print("count=" .. count3)outputextra=gold count=3
extra ← gray, count ← 3
1local extra→ gray = "gray"2local count→ 3 = #({"red", "blue", extragray})34print("extra=" .. extragray)5print("count=" .. count3)outputextra=gray count=3
Count the Sequence
- The table starts with
redandblue. extraisgreen.- The table literal places
extrain position3. #reports the sequence length as3. | Position | Value | | --- | --- | |1|red| |2|blue| |3|green|
Exercise: table_length.lua
Build a three-value sequence table with one variable value and print its length