[Lua] verificando se o input consiste em caracteres alfabeticos ou não.

Como verificar letra ou número em Lua?

Para determinar se o input é uma letra ou número, empregamos a função :match(), a qual verifica se o caractere é uma letra ou não.

Exemplo

Print('Por favor, informe uma letra de a-z')
local letter = tostring(io.read())

if letter:match('^[a-zA-Z]+$') then
    print('A letra informada foi ' ..letter)
else
   print('Digite somente caracteres alfabéticos.')
end

Explicando um pouco mais, nesse código foi usado regex, ou seja, expressão regulares. Na expressão '^[a-zA-Z]+$' Existem metacaracteres, ou seja, caracteres com um significado especial. Em vez de representar seu próprio valor literal, é usado para definir regras na correspondência de texto. ^ - Este é um metacaracter que indica início []- Estes indicam uma lista [a-z] - neste caso letras minúsculas de 'a' até 'z' [a-zA-Z] - Aqui letras minúsculas e maiúsculas. + - É um dos metacaractere quantificador, pois indica a quantidade necessária para a correspondência, neste caso + indica 1 ou mais (o quê? ver à esquerda deste), nesta expressão em particular 1 ou mais letras. $ - Este metacaracter indica fim

Não irá corresponder palavras como: guarda-chuva (porque tem hífen) planeta terra (porque tem espaço) 52A (porque não começa '^' com letras '[a-zA-Z'] e também não termina com letras na quantidade de 1 ou mais)

Neste site dá para testar valores usando a expressão regular acima https://regex101.com/

você conhece o canal Luaverse?

Não. Irei pesquisar o canal dele.
Cara um dos melhores canais focados em lua que já conheci na vida!