Patrones en Lua
El matching propio de Lua: %d, %a, capturas, gmatch, gsub.
-- Lua patterns: %d digits, %a letters, captures in parentheses.
local log = "found 3 gems, 45 gold, 1 idol"
for count, thing in log:gmatch("(%d+) (%a+)") do
print(thing .. " x" .. count)
end
-- match pulls one capture; gsub rewrites and counts.
local first = log:match("%d+")
print("First number: " .. first)
local shouted, hits = log:gsub("gold", "GOLD")
print(shouted)
print("Replacements: " .. hits)
Cómo funciona
gmatchitera cada coincidencia; las capturas se desempacan en el bucle.matchsaca la primera captura directo.gsubreescribe y reporta cuántas veces.
Palabras clave y builtins usados aquí
doendforinlocalprint
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 406
- Tokens
- 81
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 81 segundos.
Paso 1 de 3 en Patrones y errores; paso 20 de 27 en Fundamentos del lenguaje.