From: Mark Slagell Date: 2000-10-23T21:26:42+09:00 Subject: [ruby-talk:5786] Re: Array#insert Conrad Schneiker/Austin/Contr/IBM wrote: > > Mark Slagell wrote: > > # Sigh. I hadn't thought of how an underscore blends in with the > # surroundings. It certainly doesn't grab the eye the way ! and ? do. So > # the dup'ed version, as you've written it, is easier to read. > > Well, if it's any consolation, I brought up the ! issue a while back too. > > I am still unhappy with it, because it seems like it "should" follow your > previously proposed scheme. It seems somewhat Perlish to me in terms of > not having a good general idea of what you are looking at until you look > up the pieces. > > I guess now I would now most prefer the dup solution, and I retroactively > would have preferred that originally the ! should indicate the > ((supposedly) more exceptional!) nondestructive version. (I think someone > mentioned that the ! idea came from scheme, and IIRC it was also mentioned > that unlike Ruby, scheme only/always uses ! for destructive methods.) > > If it weren't for backward compatibility, something a little more compact > and a little more visually distinguished such as .!. that could be used > instead of .dup. might be nice. > > Conrad Schneiker > (This note is unofficial and subject to improvement without notice.) Hmmm.... ~/dl/ruby-1.6.1:>diff parse.c~ parse.c 6894c6894 < if ((c == '!' || c == '?') && is_identchar(tok()[0]) && !peek('=')) { --- > if ((c == '!' || c == '?' || c == '~') && is_identchar(tok()[0]) && !peek('=')) {