Julian Leviston wrote:
Hi.
I think what you want to do is word-wrapping across lines depending on
line length.
Here's a pretty nice algorithm using a regular expression:
class String
def word_wrap(line_length=80)
self.gsub(/(.{1,#{line_length}})(\s+|\Z)/, "\\1\n")
end
end
What this does is put the word_wrap method onto the string class.
So, you can do this:
string_to_wrap = "Kid games need to be both fun and educational. Aimed
at ages pre-K through middle school, safe environment to discover
their abilities and learn new skills with interactive and fun computer
games. Our games build skills in math, logic, memory, vocabulary,
alphabet, spelling, geography, computer skills, color identification,
shape identification and other various problem solving. Our commitment
to parents, teachers, and kids, is to connect earning and skill
building with a sense of challenge, fun, and self esteem."
puts string_to_wrap.wrap
If you want to change the number of characters that it will wrap at
(ie line length), which defaults to 80... then specify it as an
argument:
puts string_to_wrap.wrap(10)
Good luck, and remember that when posting questions to this list, it's
really good to carefully prepare your question.
Julian.
----------------------------------------------
Learn: http://sensei.zenunit.com/
Last updated 20-May-09 (Rails, Basic Unix)
Blog: http://random8.zenunit.com/
Twitter: http://twitter.com/random8r
Thanks julian for your help almost at the end, little help more.
i used your regular expression
line_length = 40
words = "Kid games need to be both fun and educational. Aimed at
ages
pre-K through middle school, safe environment to discover their
abilities and learn new skills with interactive and fun computer
games. Our games build skills in math, logic, memory, vocabulary,
alphabet, spelling, geography, computer skills, color identification,
shape identification and other various problem solving. Our commitment
to parents, teachers, and kids, is to connect earning and skill
building with a sense of challenge, fun, and self esteem."
words = words.gsub(/(.{1,#{line_length}})(\s+|\Z)/, "<=\\1\n")
words = words.sub('<=', '')
abort words
output
Kid games need to be both fun and
<=educational. Aimed at ages
<=pre-K through middle school, safe
<=environment to discover their
<=abilities and learn new skills with
<=interactive and fun computer
<=games. Our games build skills in math,
<=logic, memory, vocabulary,
<=alphabet, spelling, geography, computer
<=skills, color identification,
<=shape identification and other various
<=problem solving. Our commitment
<=to parents, teachers, and kids, is to
<=connect earning and skill
<=building with a sense of challenge, fun,
<=and self esteem.
need to append "=>" at end of each line to like in startin.
waiting for you last help
Regards