is this by design?


   [ahoward@jib dmsp-2.1.0]$ ruby -v
   ruby 1.8.1 (2003-12-25) [i686-linux]
   [ahoward@jib dmsp-2.1.0]$ ruby -e' class C < String;end; p %r/42/.match(C::new("42")).to_a.map{|x| x.class} '
   [String]

   [ahoward@localhost ~]$ ruby -v
   ruby 1.8.2 (2005-02-12) [i686-linux]
   [ahoward@localhost ~]$ ruby -e' class C < String;end; p %r/42/.match(C::new("42")).to_a.map{|x| x.class} '
   [C]

   [nrt@mussel dmsp-2.1.0]$ ruby -v
   ruby 1.8.3 (2005-06-20) [i686-linux]
   [nrt@mussel dmsp-2.1.0]$ ruby -e' class C < String;end; p %r/42/.match(C::new("42")).to_a.map{|x| x.class} '
   [C]

i went through the ChangeLog but didn't see anything that jumped out.  the
change makes sense - but will in continue to be this way?  is the move to
return appropriate sub-classed values meant to be pervasive?  meaning,
shouldn't this

   harp:~ > ruby -e' class C < Array;end; p C::new.map{}.class '
   Array

print 'C' to be consistent with the above?  why the difference?  what's the
grand plan?

regards.

-a
-- 
===============================================================================
| ara [dot] t [dot] howard [at] gmail [dot] com
| all happiness comes from the desire for others to be happy.  all misery
| comes from the desire for oneself to be happy.
| -- bodhicaryavatara
===============================================================================