On 10/31/06, Cristiano Marchettini <Cristiano.Marchettini / gmail.com> 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}"
>   print str, "\n"
> end
> print "\n"
>
> Thanks again,
> Cristiano

Not directly answering your question, but since you are still learning ruby:

########## LOTSA CODE #########
st = "\033[7m"
en = "\033[m"

$stdout.sync = true

loop do
  print "string> "
  string = gets.chomp
  print "pattern> "
  pattern = gets.chomp

  puts string.gsub pattern, "#{st}\\&#{en}"
end
######## LOTSA CODE END ########

i think that would be a more 'rubylike' way to write it... also making
your intention a bit clearer :)
you are not in C anymore, you can loosen your grip a little ;)

^manveru