40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/main/util.rb', line 40
def columnize buf, opts = {}
width = Util.getopt 'width', opts, 80
indent = Util.getopt 'indent', opts
indent = Fixnum === indent ? (' ' * indent) : "#{ indent }"
column = []
words = buf.split %r/\s+/o
row = "#{ indent }"
while((word = words.shift))
if((row.size + word.size) < (width - 1))
row << word
else
column << row
row = "#{ indent }"
row << word
end
row << ' ' unless row.size == (width - 1)
end
column << row unless row.strip.empty?
column.join "\n"
end
|