Chame como
Functions.text.wrap(str, limit)
Registre-a como uma dependência chamada Functions.text.wrap (aceitar o preenchimento automático faz isso) e depois chame-a por esse nome.
Também aceita sob o antigo namespace utils.
O que faz
Quebra o texto nos limites de espaços perto de uma quantidade de colunas desejada. Palavras longas são mantidas intactas.
Argumentos
| Nome | Tipo | O que faz |
|---|---|---|
str | string | Texto a quebrar em linhas. |
limit | number | nil | Largura de linha desejada, 72 caracteres por padrão. |
Retornos
| 1 | string | Texto com quebras de linha inseridas nos limites de palavras. |
|---|
Edições
As funções auxiliares integradas são registradas em todas as edições. O que muda é a API do jogo que elas leem; quando uma está ausente, a função auxiliar recorre a uma alternativa ou retorna nil com um motivo.
Não lê nenhuma API do jogo diretamente.
Exemplo
local note = Functions.text.wrap("Use defensive cooldowns before the tank swap", 20)
local _, breaks = note:gsub("\n", "")
return breaks >= 1Código-fonte
Functions/text.lua, linha 37. Somente leitura no jogo; Duplicar cria uma cópia editável.
Functions.text.wrap(str, limit)
limit = limit or 72
local here = 1
-- the "".. is there because :gsub returns multiple values
return ""..str:gsub("(%s+)()(%S+)()",
function(_, st, word, fi)
if fi-here > limit then
here = st
return "\n"..word
end
end)