Word wrap: Difference between revisions
m
→{{header|Sidef}}: update
(→{{header|C}}: Add a simple in-place method) |
m (→{{header|Sidef}}: update) |
||
Line 5,883:
<syntaxhighlight lang="ruby">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)
para.append(txt.substr(i, j-i))
i = j+1
}
return para.join("\n")
}
}
var text = 'aaa bb cc ddddd'
say text.wrap(6)
{{out}}
Line 5,934:
root << [
array.first(i+1).join(' '),
self.prepare_words(array.
]
Line 5,977:
self.combine([], path, { |combination|
var score = 0
combination.
score += (width - line.len -> sqr)
}
Line 5,991:
}
}
var sww = SmartWordWrap()
var words = %w(aaa bb cc ddddd)
var wrapped = sww.wrap(words, 6)
say wrapped
{{out}}
<pre>
|