From: William James Date: 2007-01-20T01:05:06+09:00 Subject: Re: Copying strings WoodHacker wrote: > I can't believe this hasn't been answered a thousand times, but I can't > seem to find the answer in the group archive. > > I am parsing a string into @text (i.e. abc.def) I want to save the > part before the dot into @firstpart . For example: > > @text << "a" > @text << "b" > @text << "c" next char is "." so @firstpart = @text > then @text << "." > @text << "d", etc > > The problem is, this doesn't work. @firstpart apparently is a > pointer to @text and continues to receive the characters. Freezing > @firstpart doesn't work because then @text << produces a freeze error. > There doesn't appear to be a "copy" method for string, so how do I do > this? > > Sometimes the obvious eludes us.... > > Bill Your code sample doesn't run at all. Here's one that does. text = "" text << "a" text << "b" text << "c" first_part = text.dup text << "." text << "d" p first_part