> For a text adventure program I'm working on I needed a method 
> to word wrap a long string based on spaces or non-word 
> characters so I came up with this.  I just thought I'd post 
> it to see if there are any thoughts or if there might be a 
> better way to do it.
> 

I wrote one last week, actually

  def wrap(wrap_len=78)
    start_pos = wrap_len
    while start_pos < @fact.length
      sp = @fact.rindex(' ', start_pos)
      @fact.insert(sp, '|')
      start_pos = sp + wrap_len + 1
    end
    @fact.gsub!(/\|[\s]/, "\n")
  end

I'm far from an expert, so I don't know which method may be better :)

-M