Values and Types
Numbers
Lua numbers handle arithmetic for counts, totals, and simple measurements.
arithmetic
Number expressions combine values with operators such as `+`, `-`, `*`, and `/`.
Numbers
numbers.lua
Replay: real traced execution (multi-file project)
local apples = 7
local oranges = 5
local total = apples + oranges
local average = total / 2
print("apples=" .. apples)
print("total=" .. total)
print("average=" .. average)
local apples = 3
local oranges = 5
local total = apples + oranges
local average = total / 2
print("apples=" .. apples)
print("total=" .. total)
print("average=" .. average)
local apples = 10
local oranges = 5
local total = apples + oranges
local average = total / 2
print("apples=" .. apples)
print("total=" .. total)
print("average=" .. average)
apples ← 7, oranges ← 5, total ← 12, average ← 6.0
1local apples→ 7 = 7 --@apples=3, 102local oranges→ 5 = 53local total→ 12 = apples7 + oranges54local average→ 6.0 = total12 / 256print("apples=" .. apples7)7print("total=" .. total12)8print("average=" .. average6.0)outputapples=7 total=12 average=6.0
apples ← 3, oranges ← 5, total ← 8, average ← 4.0
1local apples→ 3 = 32local oranges→ 5 = 53local total→ 8 = apples3 + oranges54local average→ 4.0 = total8 / 256print("apples=" .. apples3)7print("total=" .. total8)8print("average=" .. average4.0)outputapples=3 total=8 average=4.0
apples ← 10, oranges ← 5, total ← 15, average ← 7.5
1local apples→ 10 = 102local oranges→ 5 = 53local total→ 15 = apples10 + oranges54local average→ 7.5 = total15 / 256print("apples=" .. apples10)7print("total=" .. total15)8print("average=" .. average7.5)outputapples=10 total=15 average=7.5
Follow the Values
applesstarts at7.orangesis5.total = apples + orangesbecomes12.average = total / 2becomes6.0.- The program prints
apples=7,total=12, andaverage=6.0. | apples | oranges | total | average | | --- | --- | --- | --- | | 3 | 5 | 8 | 4.0 | | 7 | 5 | 12 | 6.0 | | 10 | 5 | 15 | 7.5 |
Exercise: numbers.lua
Reproduce average=6.0, then use apples 3 and 10 to predict each total and average.