Michael Fellinger
10/31/2006 1:06:00 PM
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