RosettaCodeData/Task/Look-and-say-sequence/Lua/look-and-say-sequence-4.lua

14 lines
300 B
Lua

function lookandsay2(t)
return t:gsub("(1*)(2*)(3*)", function (x, y, z)
return (x == "" and x or (#x .. x:sub(1, 1))) ..
(y == "" and y or (#y .. y:sub(1, 1))) ..
(z == "" and z or (#z .. z:sub(1, 1)))
end)
end
local t = "1"
for i = 1, 10 do
print(t)
t = lookandsay2(t)
end