String Manipulation

Hi all,

Help needed urgently

Example: this could be the string.

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 learning and skill building with a sense of
challenge, fun, and self esteem.

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 =>
.........
.........
=> a sense of challenge, fun, and self esteem.

Regards and thanks

Is the point of your post to display the text at fixed line widths?

Hi all,

Help needed urgently

Maybe it's just me, but I think that in your hurry you've neglected to
describe what it is you want to do. Replace carriage returns with =>
\n<= ?

BenH wrote:

Is the point of your post to display the text at fixed line widths?

yes like after 10 words i want to put => and than in next line starts
with <= and ends with => after 10 words and so on

Frederick Cheung wrote:

Ruby One wrote:
[...]

please help!!!!

Just break the string up and insert the => stuff. What exactly is the
problem?

Best,

Marnen Laibow-Koser wrote:

Ruby One wrote:
[...]

please help!!!!

Just break the string up and insert the => stuff. What exactly is the
problem?

Best,
--
Marnen Laibow-Koser
http://www.marnen.org
marnen@marnen.org

I am newbee so do not much syntax and loops can you please help me i
that.

thanks

Try this:
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."

line_length = 10

word_arry = words.split(" ")

text = (0..(words.length / line_length)).inject([]) {|v,num| start =
num * line_length; v << %Q{<= #{words[(start)...(start +
line_length)].join(" ")} =>}}

text.join("\n")

Shame on me...

BenH wrote:

Try this:
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."

line_length = 10

word_arry = words.split(" ")

text = (0..(words.length / line_length)).inject([]) {|v,num| start =
num * line_length; v << %Q{<= #{words[(start)...(start +
line_length)].join(" ")} =>}}

text.join("\n")

Shame on me...

On May 26, 3:45�pm, Marnen Laibow-Koser <rails-mailing-l...@andreas-

Hi,

Thanks for taking your time out for my problem.

i tried your code but it says

undefined method `join' for "Kid games ":String

what should i do now
Thanks and Regards

I am quite a beginner; it is not clean clode but works

number_of_words = 10
sentence = sentence.split(/\n/m).join(" ")
sentence.gsub!(" "," ")
r = /.*?[.!?](?:\s|$)/
sentences = sentence.scan(r)
sentences.map! {|e| e.split}
v = []
sentences.each do |e|
  while !e.empty?
    vv = []
    number_of_words.times {vv << (e.shift.to_s + " ")}
    v << vv
  end
end

v.each {|e| e.delete_if {|x| x == " "}}

v.map! {|e| e.join}

v.each {|e| p e}