On Aug 24, 2004, at 10:01 PM, James Britt wrote: > Also, a new edition of Programming Ruby is due quite soon. It covers > 1.8, as well as topics not in the first edition. > > In the meantime, this site may help bridge the gap: > > http://phrogz.net/ProgrammingRuby/ > > It links an online copy of the first edition of Programming Ruby (AKA > The Pickaxe Book) with wiki pages detailing changes in 1.8 Okay, this is a helpful link, but I found this there: "Deprecate: symbol variables ($1 etc) regexp in conditional expression range (../...) in conditonal expression print with no argument == print $_ (But these things are still around in Ruby 1.8, why would you suggest deprecating them? -- because Matz has said they will be deprecated in future versions. You can't deprecate them arbitrarily in the book, but you can call them out as not-future-proof.)" Wow. That shocked me. Sounds like I better rethink some of the things I've been learning. Let me ask some clarifying questions here: " symbol variables ($1 etc)" This one will kill me. <laughs> I'm very used to handling my substitutions this way, being a Perl guy. Can I get an example of "The Ruby Way" to do a search and replace without these, please? " regexp in conditional expression" Does this mean something like: if /Ruby/ # ... end is not future-proof? What is the correct fix? if $_ =~ /Ruby/ # ... end " range (../...) in conditonal expression" I don't use this too often, but it can be a handy shortcut in places. Any reason this is considered bad? I'm just curious. Really, I guess I mean that question to apply to the whole list above. I'm assuming it's because what's going on in these situations isn't always immediately obvious to readers of code. If that's the case though, I have to say I disagree with the $1..$9 call. That's a regex standard and downright handy. It will be missed, by me at least. Thanks. James Edward Gray II