RosettaCodeData/Task/Word-wrap/Groovy/word-wrap-3.groovy

7 lines
238 B
Groovy
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
String wordWrap(str, width=80) {
str.tokenize(' ').inject([[]]) { rows, word ->
if (rows.last().join(' ').length() + word.length() <= width) rows.last() << word else rows << [word]
rows
}.collect { it.join(' ') }.join('\n')
}