kamen raider kamen raider - 9 months ago 65
Ruby Question

ruby operator "=~"

In ruby, I read some of the operators, but I couldn't find

. What is
for, or what does it mean? The program that I saw has

regexs = (/\d+/)
a = somestring
if a =~ regexs

I think it was comparing if
equal to digits but, is there any other usage, and what is the proper definition of the


The =~ operator matches the regular expression against a string, and it returns either the offset of the match from the string if it is found, otherwise nil.

ruby-1.9.2-p136 :003 > /mi/ =~ "hi mike"
 => 3 
ruby-1.9.2-p136 :004 > "hi mike" =~ /mi/
 => 3 

ruby-1.9.2-p136 :005 > "mike" =~ /ruby/
 => nil 

You can place the string/regex on either side of the operator as you can see above.