From: ts Date: 2002-12-15T00:38:12+09:00 Subject: Re: Inheritance Question >>>>> "J" == Jim Freeze writes: J> v1 = Vector[1] J> v2 = Vector[2] J> p ((v1+v2).class) class A < Array; end Array + Array ===> Array Array + A ===> Array class V < Vector; end Vector + Vector ===> Vector Vector + V ===> Vector Vector work like Array J> Here, Vector extends array and returns a Vector and NOT Array when Vector don't extend Array, it implement a specialized Array pigeon% ruby -rmatrix -e 'p Vector.ancestors' [Vector, ExceptionForMatrix, Object, Kernel] pigeon% Guy Decoux