Esta é uma questão simples: pegue a String
e adicione quebras de linha após uma certa quantidade de “preenchimento”, geralmente isso é para tornar a exibição da string mais agradável para humanos, cortando cerca de 78 caracteres.
Langref tem algumas soluções, mas cortam palavras, então você acaba com algo como:
A rápida raposa marrom salta sobre o cão preguiçoso. A rápida raposa marrom pula sobre o
cachorro preguiçoso. A rápida raposa marrom salta sobre o cão preguiçoso. A rápida Raposa marrom”
Não seria melhor se você pudesse cortar em torno de delimitadores de palavras?
A rápida raposa marrom salta sobre o cão preguiçoso. A rápida raposa marrom salta sobre o
cão preguiçoso. A rápida raposa marrom salta sobre o cão preguiçoso. A rápida Raposa marrom”
Uma solução simples é usar um regexp:
val wrapRegEx = """(.{1,78})s""".r
def wrapLine(s: String) = wrapRegEx.replaceAllIn(s, m=>m.group(1)+"n")