Iterators and Generic For
Gmatch Numbers
Pattern iterators can extract numeric text before converting it.
Gmatch Numbers
gmatch_numbers.lua
local text =
local total = 0
local lastNumber = 0
for digits in string.gmatch(text, "%d+") do
local number = tonumber(digits)
total = total + number
lastNumber = number
end
print("text=" .. text)
print("total=" .. total)
print("lastNumber=" .. lastNumber)
local text =
local total = 0
local lastNumber = 0
for digits in string.gmatch(text, "%d+") do
local number = tonumber(digits)
total = total + number
lastNumber = number
end
print("text=" .. text)
print("total=" .. total)
print("lastNumber=" .. lastNumber)
local text =
local total = 0
local lastNumber = 0
for digits in string.gmatch(text, "%d+") do
local number = tonumber(digits)
total = total + number
lastNumber = number
end
print("text=" .. text)
print("total=" .. total)
print("lastNumber=" .. lastNumber)
matched text
`gmatch` yields strings, so numeric matches should be converted before arithmetic.