From: Josh Cheek Date: 2013-07-25T01:03:30+09:00 Subject: Re: class <=> module --089e0158cc32ccd37e04e2440c11 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Wed, Jul 24, 2013 at 10:25 AM, Jes=FAs Gabriel y Gal=E1n < jgabrielygalan@gmail.com> wrote: > On Wed, Jul 24, 2013 at 3:34 PM, Josh Cheek wrote: > > On Wed, Jul 24, 2013 at 7:51 AM, wrote: > >> > >> Am 24.07.2013 14:35, schrieb Josh Cheek: > >>> > >>> On Wed, Jul 24, 2013 at 1:10 AM, >>> > wrote: > >>> > >>> > >>> And you forgot to mention: classes can inherit only from a single > >>> other > >>> class (a conscious decision by Matz), but you can include many > >>> modules. > >>> Seems difficult to unify that in one concept. > >>> > >>> > >>> That seems inaccurate to me: > >>> > >>> C1 =3D Class.new Object > >>> C2 =3D Class.new C1 > >>> C3 =3D Class.new C2 > >> > >> > >> I was alluding to multiple inheritance, meaning a class > >> inherits _directly_ from more than one superclass. > >> > > > > I still don't understand. I showed that you can inherit from multiple > > classes like you can inherit from multiple modules. Yes there are other > > differences, but this does not seem to be one of them. Perhaps you thin= k > > that modules have some sort of fancier inheritance? If so, this is not > the > > case. When you include a module, an anonymous class with the module's > > methods gets inserted as the superclass. > > You cannot extend from arbitrary classes. If I want to create a class > that extends String and Hash, for example, I can't. > On the other hand I can extend any number of arbitrary modules. > > Jesus. > > I'm not sure that's what he was trying to say. --089e0158cc32ccd37e04e2440c11 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Wed, Jul 24, 2013 at 10:25 AM, Jes=FAs Gabriel y Gal=E1n <jgabri= elygalan@gmail.com> wrote:

I'm not sure that's what he was trying = to say.
--089e0158cc32ccd37e04e2440c11--