Lua:
Capitalizzare una stringa
Come fare:
Lua non dispone di una funzione incorporata per capitalizzare le stringhe, ma è possibile realizzare facilmente questo compito utilizzando funzioni basilari di manipolazione delle stringhe. Ecco una semplice funzione per capitalizzare la prima lettera di una singola parola:
function capitalize(word)
return word:sub(1,1):upper() .. word:sub(2):lower()
end
print(capitalize("hello")) -- Output: Hello
Per capitalizzare ogni parola in una frase, puoi dividere la frase in parole, capitalizzarle una ad una e poi riunirle:
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")) -- Output: Hello World From Lua
Se stai lavorando a un progetto dove la performance è fondamentale e ti ritrovi a necessitare capacità di manipolazione delle stringhe più avanzate, considera l’utilizzo di una libreria di terze parti come Penlight
. Penlight migliora Lua con funzioni di gestione delle stringhe più versatili, tra le altre utilità:
-- Assumendo che Penlight sia installato:
local pl = require("pl.stringx")
local text = "hello lua users"
text = pl.capitalized(text)
print(text) -- Output: Hello lua users
-- Nota: La funzione capitalized di Penlight capitalizza solo la prima parola.
-- Per capitalizzare ogni parola, dovrai comunque implementare una soluzione personalizzata o esplorare altre librerie.