Зробити першу літеру рядка великою

Lua:
Зробити першу літеру рядка великою

Як це зробити:

Lua не має вбудованої функції для приведення рядків до великих літер, але ви легко можете досягти цього за допомогою базових функцій маніпуляції з рядками. Ось проста функція для приведення першої літери одного слова до великої літери:

function capitalize(word)
    return word:sub(1,1):upper() .. word:sub(2):lower()
end

print(capitalize("hello"))  -- Вивід: Hello

Щоб привести кожне слово в реченні до великої літери, ви можете розділити речення на слова, зробити кожне з них з великої літери, а потім з’єднати їх знову:

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"))  -- Вивід: Hello World From Lua

Якщо ви працюєте над проектом, де ключовим є продуктивність і вам потрібні додаткові можливості маніпуляції з рядками, розгляньте можливість використання сторонньої бібліотеки, як-от Penlight. Penlight розширює Lua більш універсальними функціями обробки рядків, серед іншого:

-- Припускаючи, що Penlight встановлено:
local pl = require("pl.stringx")
local text = "hello lua users"
text = pl.capitalized(text)
print(text)  -- Вивід: Hello lua users

-- Зауважте: функція capitalized в Penlight приводить до великої літери лише перше слово.
-- Для приведення кожного слова до великої літери вам все ще доведеться реалізувати власне рішення або дослідити інші бібліотеки.