Title: Mensaje
Hola Gallego,
        Si contesté medio dormido ese día 8^).
        Si, ese lookup es para las herramientas, no es el lookup que usa para funcionar el ambiente, pues ese está en la VM. Pero lo que me llamó la atención es que es una primitiva, con lo cual me hace sospechar que es el mismo lookup que usa la VM. Lo raro es que sea una primitiva, pues el lookup para las herramientas lo podés reemplazar accediendo al MethodDictionary. Me llamó la atención como para jugar con él (Obviamente rompé viela enseguida jugando con las primitivas).
 
Hernán.-
 
-----Mensaje original-----
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de GallegO
Enviado el: Jueves, 26 de Octubre de 2006 01:36 p.m.
Para: [email protected]
Asunto: [clubSmalltalk] Re: Comportamiento de la instancia ????

Hernan
 
Che me sorprendio tu respuesta y no se si es medio picara pero ahi no se hace el lookup, o no te entendí lo que querias decir. Bueh como sea, probe en Dolphin y entra porque en varios lados se utiliza mucho el #respondsTo: o #canUnderstand:
Ponete una global como bandera y metele un halt vas a ver...
 
Saludos
  GallegO

 
2006/10/26, Hernán Galante <[EMAIL PROTECTED]>:
Hola Kiko,
    El lookup en sí es una primitiva.
    Un ejemplo fácil para ver esto (probado en Dolphin Smalltalk 6) sería diferir el #lookupMethod: en la clase Behavior:
 
Behavior>>lookupMethod: aSymbol
     "Answer the method of the receiver, or inherited by the receiver, corresponding
     to the selector, aSymbol."
 
     Transcript show: 'LOOKUP -> ', aSymbol; cr.
     ^self basicLookupMethod: aSymbol
Behavior>>basicLookupMethod: aSymbol
 "Answer the method of the receiver, or inherited by the receiver, corresponding
 to the selector, aSymbol."
 
 <primitive: 148>
 ^self primitiveFailedbasicLookupMethod: aSymbol
 "Answer the method of the receiver, or inherited by the receiver, corresponding
 to the selector, aSymbol."
 
 <primitive: 148>
 ^self primitiveFailed
 
 
Es interesante ponerse a ver esto, pues saltan todos los mensajes que se envian. Obviamente vamos a ver que hay muchos que son inline y no se envian nunca (como por ejemplo: isNil, ifTrue:, ifFalse:, etc).
De MT no mucha tengo idea, nunca lo he usado lo suficiente, pero asumo que no debería variar mucho del esquema anterior.
 
Saludos,
Hernán
-----Mensaje original-----
De: [email protected] [mailto:[email protected]] En nombre de Jose Gregoris
Enviado el: Jueves, 26 de Octubre de 2006 07:52 a.m.
Para: Club smaltalk
Asunto: [clubSmalltalk] Comportamiento de la instancia ????

Hola gente
 
Estoy confundido sobre como se hace el envío de mensajes entre los objetos.
 
Se supone que cada clase tiene un MethodDictionary en el que reside el comportamiento que hace uso la instancia.
Cuando se envía un mensaje se dispara un #lookup que busca la implementación en el MethodDictionary de la clase, si lo encuentra ejecuta el método y si no contesta con un #doesNotUndestand.
Lo que no veo es, el #lookup en un método implementado, ya que lo busque por todas partes en VS y no lo encontré. O en realidad se dice que es un lookup pero se implementa con otro método??. O lo hace la VM ¿??
 
Todo esto me surge por que MT no implementa el cambio de instancias cuando modifico la definición de la clase, estoy intentando implementar la solución, ya tengo resuelto medio problema.
Que es la parte mas fácil supongo, se trata del cambio de la vieja instancia a la nueva instancia con los valores de la vieja instancia.
El comienzo del proceso es lo que me falta, ya que debo cambia el comportamiento de la clase para que solo entienda el #doesNotUnderstand, para que por medio de este se dispare la segunda parte del cambio de la instancia.
El problema es que no entiendo lo que hace VS.
 
Modifica el MethodDictionary de que clase, la nueva ¿??, la vieja   ¿??.
Cuando yo modifico la clase, que pasa con la instancia vieja. A que clase hace referencia para obtener el comportamiento ¿?.
Se supone que hay una sola definición de la clase en todo el sistema, No ¿????.
 
Saludos kiko

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar






--~--~---------~--~----~------------~-------~--~----~
  Ha recibido este mensaje porque está suscrito a Grupo "clubSmalltalk" de Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [email protected]
 Para anular la suscripción a este grupo, envíe un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en http://groups-beta.google.com/group/clubSmalltalk?hl=es.
-~----------~----~----~----~------~----~------~--~---

Responder a