2023-07-01 11:58:00 -04:00
|
|
|
|
class String {
|
|
|
|
|
|
method wrap(width) {
|
2023-07-18 13:51:12 -07:00
|
|
|
|
var txt = self.gsub(/\s+/, " ")
|
|
|
|
|
|
var len = txt.len
|
|
|
|
|
|
var para = []
|
|
|
|
|
|
var i = 0
|
2023-07-01 11:58:00 -04:00
|
|
|
|
while (i < len) {
|
2023-07-18 13:51:12 -07:00
|
|
|
|
var j = (i + width)
|
|
|
|
|
|
while ((j < len) && (txt.char_at(j) != ' ')) { --j }
|
|
|
|
|
|
para.append(txt.substr(i, j-i))
|
|
|
|
|
|
i = j+1
|
|
|
|
|
|
}
|
|
|
|
|
|
return para.join("\n")
|
2023-07-01 11:58:00 -04:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2023-07-18 13:51:12 -07:00
|
|
|
|
var text = 'aaa bb cc ddddd'
|
|
|
|
|
|
say text.wrap(6)
|