RosettaCodeData/Task/Word-wrap/Sidef/word-wrap-1.sidef

19 lines
441 B
Plaintext

class String {
method wrap(width) {
var txt = self.gsub(/\s+/, " ");
var len = txt.len;
var para = [];
var i = 0;
while (i < len) {
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");
}
}
var text = 'aaa bb cc ddddd';
say text.wrap(6);