From: matz@... (Yukihiro Matsumoto) Date: 2003-04-08T14:17:16+09:00 Subject: Re: Is this an intended change in string interpolation Hi, In message "Is this an intended change in string interpolation" on 03/04/08, Dave Thomas writes: |In the latest CVS: | |irb(main):002:0> /c(a)t/ =~ "cat" |=> 0 |irb(main):003:0> "d#$1ve" |=> "d" | |In older Rubies, the #$1 sequence was interpolated without swallowing |the rest of the string. | |Also now I can create globals such as | |irb(main):004:0> $1ve = "cat" |=> "cat" |irb(main):005:0> "d#$1ve" |=> "dcat" | |Cool feature, or wee bug? :) From CVS history, I allowed variables like "$1ve" on 2000-04-10. The problem is I completely forget the reason why I did allow "$1ve". But later, I explicitly disallow variables like "@1ve". So, for the consistency, I should disallow "$1ve" as well. OK, I will change the behavior to: /c(a)t/ =~ "cat" => 0 "d#$1ve" => "dave" $1ve = "cat" -:1: syntax error $1ve = "cat" ^ Thank you for pointing out inconsistency. matz.