El Jueves, 29 de Enero de 2009, Barun S. escribió:
outputs “nil” to the screen
Could someone explain why the eval statement returns an incorrect result
for the regexp match? Thanks…
It works if you escape the \ with \ :
eval %Q{‘1’ =~ /^[\d]+$/}
=> 0
Not sure why the \ must be escaped into a block code.
Ah, thanks that worked. I wonder why extra escaping is needed just
because it’s in a block…
It’s not in a block, it’s just inside a string. There are two types of
string quoting, normally given using double-quotes and single-quotes,
and they behave differently with regards to escaping. The double-quote
variety converts special sequences like \n to newline, and \d just
becomes d.