From: Vincent Fourmond Date: 2006-10-31T20:37:03+09:00 Subject: Re: Learning Ruby Cristiano Marchettini wrote: > Hi, > > On Tue, 2006-10-31 at 20:00 +0900, Peter Szinek wrote: >> Could you provide the examples you have tried? I did not really get you, >> as for me: >> >> irb(main):003:0> "foobar" =~ /foo/ >> => 0 >> irb(main):004:0> "foobar" =~ /fo+/ >> => 0 >> your example works. Please send the code snippets which did not work for >> you. > > I did not explain me too well. > This code works for me too. I was referring to the User Guide example. > Here is the code that doesn't work for me: > > st = "\033[7m" > en = "\033[m" > > while TRUE > print "str> " > STDOUT.flush > str = gets > break if not str > str.chop! > print "pat> " > STDOUT.flush > re = gets > break if not re > re.chop! > str.gsub! re, "#{st}\\&#{en}" Normal: this code is doing simple string lookup, as in this line, re is a String and not a Regexp. You should try this instead: str.gsub!(Regexp.new(re), "#{st}\\&#{en}") Vince -- Vincent Fourmond, PhD student http://vincent.fourmond.neuf.fr/