Forum: Ruby is /#$/ a Ruby bug ?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Dan K. (Guest)
on 2006-01-03 04:45
(Received via mailing list)
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?
Marcel Molina Jr. (Guest)
on 2006-01-03 04:48
(Received via mailing list)
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
This topic is locked and can not be replied to.