p /#$/.match("#")[0] # syntax error: unterminated string meets eof
The interpreter seems to interpret the first # as a comment but not the
second.
p /#$/.match("#")[0] # this works
This seems even odder:
p /[#$]/.match("#")[0] # syntax error: compile error
p /[#$]/.match("#")[0] # we can escape the $ rather than the #
Shouldn’t the interpreter ignore # within a Regexp /…/ unless there’s
an x flag, a #{…} substitution, or a (?#…) comment? Bug or feature?
On Tue, Jan 03, 2006 at 11:42:57AM +0900, Dan K. wrote:
p /[#$]/.match("#")[0] # we can escape the $ rather than the #
Shouldn’t the interpreter ignore # within a Regexp /…/ unless there’s
an x flag, a #{…} substitution, or a (?#…) comment? Bug or feature?
String interpolation with #{} need not use the enclosing curly brackets
when
interpolating instance variables or global variables:
$global = ‘hello’
=> “hello”
“the var value is #$global”
=> “the var value is hello”
$/ = ‘oops, gotcha’
=> “oops, gotcha”
“the var value is #$/”
=> “the var value is oops, gotcha”
marcel