From: Paul Brannan Date: 2007-04-27T21:58:36+09:00 Subject: Re: using Ruby for line-wrapping On Fri, Apr 27, 2007 at 06:25:24PM +0900, Chad Perrin wrote: > I don't necessarily need code examples -- but if anyone has ideas for a > best approach to specifying a line wrap width (breaking between words > for lines no longer than a specific column width) for output from a Ruby > script, I'd love to hear about it. You can use prettyprint: irb(main):001:0> require 'prettyprint' => false irb(main):003:0> s = "The quick brown fox jumped over the lazy dog. Now is the time for all good men to come to the aid of their country. You have been warned." irb(main):015:0> puts PrettyPrint.format('', 80) { |q| irb(main):016:1* s.scan(/\S+/) { |t| irb(main):017:2* q.group { q.text t; q.breakable } irb(main):018:2> } irb(main):019:1> } The quick brown fox jumped over the lazy dog. Now is the time for all good men to come to the aid of their country. You have been warned. => nil I get the feeling I'm not doing this quite right, since this strips out newlines and doesn't retain multiple spaces from the original string. Perhaps there's a prettyprint expert out there who knows how to do this better. Paul