From: Robert Klemme Date: 2005-05-11T01:35:29+09:00 Subject: Re: a class that looks like (kind_of?) several classes Eric Mahurin wrote: > Is there a way to make a class that looks like several classes? > For example: > > class IOArray < IO > include Array # doesn't work because Array is not a Module > # use IO methods calls to accomplish the Array methods > end > > I don't need multiple inheritance. All I want is these > additional classes to appear in the ancestors list. In the > above example, IOArray could act like an IO or an Array. It > looks like evil.rb might have a solution, but is there a > non-evil way? class IOArray < IO def kind_of?(cl) Array == cl || super end end >> x=IOArray.allocate => # >> x.kind_of? Array => true But seriously, for what do you need that? I can't think of an application where I would want to make something look like an Array without being one. Maybe it's rather Enumerable that you want? Kind regards robert