String#match vs. Regexp#match - confused

Hello everyone,
I'm very puzzled by the following:

a = ".*me"
b = /.*me/
test = "dont_ignore.me.fixture"

a.match(test)
=> nil
b.match(test)
=> #<MatchData:0x350fe8>

Huh? When looking through the ri documentation for the "match" method on
the String class, it says it take the contents of the String and
converts it to a regexp before doing a match.

So...how come the two matches do not return the same result? And even
more importantly, how can I make sure that they do?

Thank you,
Sebastian

···

--
Posted via http://www.ruby-forum.com/.

test.match a
=> #<MatchData:0x283a534>

The argument is converted to a regexp, not the original String.

-Adam

···

On 9/4/08, Old Echo <kodama@bluexpanse.net> wrote:

Hello everyone,
I'm very puzzled by the following:

a = ".*me"
b = /.*me/
test = "dont_ignore.me.fixture"

a.match(test)
=> nil
b.match(test)
=> #<MatchData:0x350fe8>

Huh? When looking through the ri documentation for the "match" method on
the String class, it says it take the contents of the String and
converts it to a regexp before doing a match.

Thanks Adam! Yeah...turns out I didn't read the ri docs carefully
enough.

On the String class, #match takes a regex and compares the original
string to that. On the Regexp class, #match takes a string and compares
the pattern to that string.

···

--
Posted via http://www.ruby-forum.com/.