Oh, wishing star! Here are my wishes:

1. Use "new" as the name of the constructor instead of "initialize". 
You can keep "initialize" around for legacy support; just "alias 
initialize new" for the future.

This makes it easy to connect the dots:  "SomeClass.new" actually calls 
the "new" instance method of a newly instantiated object of class 
SomeClass.


2. Fix the Ruby parser to treat // (literal regexp) just like the 
%r{...} (also literal regexp) construct so that you aren't forced to use 
parentheses in method calls:

  $ ruby -v
  ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-linux]

  $ ruby -w -e '"foo".sub /o$/, "x"'
  -e:1: warning: ambiguous first argument; put parentheses or even 
spaces

  $ ruby -w -e '"foo".sub %r/o$/, "x"'
  [observe lack of warning]

This problem becomes especially apparent when you use gsub! or sub!:

  "foo".gsub! /o$/, "x"   # IMHO, sweet!

  "foo".gsub! %r/o$/, "x" # IMHO, so-so!

  "foo".gsub!(/o$/, "x")  # IMHO, ugly!

Thanks for your consideration.
-- 
Posted via http://www.ruby-forum.com/.