Hola kiko !!

Supongo que quedo claro con la explicación de Claudio pero por si queres 
un thread interesante sobre Species, Tipos y Polimorfismo podés leer, 
http://ar.groups.yahoo.com/group/smalltalking/message/912

Saludos, Facundo

Claudio escribió:
> Hola Kiko,
>         species no te retorna la clase del receptor, sino la especie
> del mismo... En general esta se usa cuando se quiere construír un
> objeto "de la especie" de otro. Por ejemplo, cuando a una collection le
> enviás el mensaje:
>  #select: aBlock
> te devuelve una nueva collection con aquellos elementos que cumplen la
> condición de aBlock. Qué tipo de collection será la collection
> resultante? fijate que no siempre es posible (o conveniente) que la
> collection resultante sea de la misma clase que aquella que recibió el
> #select:   Por ejemplo, si hacemos lo siguiente:
> (1 to: 20) select: [ :i | i isPrimo]
> el receptor del #select: es (1 to:20), o sea una instancia de la clase
> Interval (Un tipo de Collection). con este #select: estamos
> seleccionando todos aquellos elementos del Interval que son primos
> (asumo que tenemos un método en la clase Integer que testea si el
> receptor es primo o no). Claramente el resultado no puede ser un
> interval ya que la separación entre los primos no es constante,
> entonces no podría devolver otro Interval...
> en la clase Interval está implementado #species de forma tal que
> devuelve la clase Array. de hecho el resultado de hacer
> (1 to: 20) select: [ :i | i isPrimo]
> es:
> (2 3 5 7 11 13 17 19)
> Consejo: Fijate quienes implementan #species y cómo, y fijate quienes
> son senders de #species   (Por ejemplo #select:) y vas a terminar de
> entenderlo.
> Saludos,
>              Claudio
>
>
>
>
> Jose Gregoris wrote:
>   
>> Hola
>>
>>
>>   Quería saber cual es el proposito de el mensaje #species , ya que por su 
>> implementacion solo retorna la clase a la cual pertenese el objeto.
>>   No es lo mismo que enviar el mensaje #class o hay una diferencia semantica.
>>
>>   Algo curioso es que en la mayoria de los ST el mensaje se implementa en 
>> Object, pero en MT solo se implementa en 5 lugares y no en Object.
>>
>>   saludos kiko
>>
>> __________________________________________________
>> Correo Yahoo!
>> Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
>> ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
>> --0-415474751-1146672288=:67746
>> Content-Type: text/html; charset=iso-8859-1
>> Content-Transfer-Encoding: quoted-printable
>> X-Google-AttachSize: 699
>>
>> <div>Hola </div>  <div>&nbsp;</div>  <div>&nbsp;</div>  <div>Quería saber 
>> cual es el proposito de el mensaje #species , ya que por su implementacion 
>> solo retorna la clase a la cual pertenese el objeto.</div>  <div>No es lo 
>> mismo que enviar el mensaje #class o hay una diferencia semantica.</div>  
>> <div>&nbsp;</div>  <div>Algo curioso es que en la mayoria de los ST el 
>> mensaje se implementa en Object, pero en MT solo se implementa en 5 lugares 
>> y no en Object.</div>  <div>&nbsp;</div>  <div>saludos 
>> kiko</div><p>__________________________________________________<br>Correo 
>> Yahoo!<br>Espacio para todos tus mensajes, antivirus y antispam ¡gratis! 
>> <br>¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
>> --0-415474751-1146672288=:67746--
>>     
>
>
> >
>
>
>
>   



--~--~---------~--~----~------------~-------~--~----~
Ha recibido este mensaje porque está suscrito a Grupos de Google 
"clubSmalltalk" grupo.
 Si quiere publicar en este grupo, mande un correo electrónico a 
[email protected]
 Para anular la suscripción a este grupo, envíe un mensaje a [EMAIL PROTECTED]
 Para visualizar más opciones, visite este grupo 
enhttp://groups.google.com/group/clubSmalltalk
-~----------~----~----~----~------~----~------~--~---

Responder a