[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Re: Injecting methods from one class into another.

e

1/26/2005 3:32:00 PM

> Lähettäjä: "George Moschovitis" <george.moschovitis@gmail.com>
> Aihe: Re: Injecting methods from one class into another.
>
> > If the only requirement one has of a duck is the ability to fly, then
> for
> > all intents and purposes, a hawk is a duck.
>
> Thats my point :)
>
> > Signor Moschovitis, however, was essentially claiming that since a
> hawk can
> > fly and a duck can fly, a hawk must be a duck (or, if an object
> responds to
> > of the methods of a given type, it should somehow be able to respond
> to all > the > others as well).
>
> never claimed that , I only want to 'inject' the one method from Duck
> that is compatible with Hawk. Read my example more carefully please.

It was an oversimplification, apologies. Addressing the exact code, I
would say that even if an object has a certain characteristic (@a or,
say, wings) doesn't mean it can be used the same way another object
uses it (be it a= or flying in the case of e.g. a penguin). That's a stretch, though. Duck typing should not take into account the
/internal/ state of an object, just its interface.

Injecting methods just doesn't seem to be right and I think the proper
answer would be to factor out any such common code rather than
forcibly extract it. For example, the [] and []= methods could be
implemented by Indexable (although the differences in parameters and
output would not allow those particular methods to be factored out,
probably).

> -g.

E