Lua:
Capitalizando uma string
Como Fazer:
Lua não possui uma função embutida para capitalizar strings, mas você pode facilmente realizar essa tarefa usando funções básicas de manipulação de strings. Aqui está uma função simples para capitalizar a primeira letra de uma única palavra:
function capitalize(word)
return word:sub(1,1):upper() .. word:sub(2):lower()
end
print(capitalize("hello")) -- Saída: Hello
Para capitalizar cada palavra em uma frase, você pode dividir a frase em palavras, capitalizar cada uma, e depois juntá-las novamente:
function capitalizeSentence(sentence)
local words = {}
for word in sentence:gmatch("%S+") do
table.insert(words, capitalize(word))
end
return table.concat(words, " ")
end
print(capitalizeSentence("hello world from lua")) -- Saída: Hello World From Lua
Se você estiver trabalhando em um projeto onde o desempenho é crucial e você se encontrar precisando de capacidades de manipulação de string mais avançadas, considere usar uma biblioteca de terceiros como Penlight
. Penlight melhora Lua com funções de manipulação de strings mais versáteis, entre outras utilidades:
-- Assumindo que Penlight está instalado:
local pl = require("pl.stringx")
local text = "hello lua users"
text = pl.capitalized(text)
print(text) -- Saída: Hello lua users
-- Nota: A função capitalized do Penlight só capitaliza a primeira palavra.
-- Para capitalizar cada palavra, você ainda implementaria uma solução personalizada ou exploraria outras bibliotecas.