Pregunta a los que saben mas.
Estoy tratando de resucitar los MorphicWrappers y los MathMorphs, junto con Milan Zimmermann. En un lugar del código encuentro: EditableStringMorph subclass: #CodeStringMorph instanceVariableNames: 'bindings target actionSelector arguments history historyPosition original expansions currentPosition' classVariableNames: '' poolDictionaries: '' category: 'MorphicWrappers-Support' O sea que CodeStringMorph hereda de EditableStringMorph Tratando de ver de autocompletar las clases a partir de las letras tiepeadas, veo en keyStroke: evt de EditableStringMorph ; ch = Character tab ifTrue: [evt shiftPressed ifTrue: [self querySymbolBackward: self contents] ifFalse: [self querySymbolForward: self contents]. ^ self fitContents] pero querySymbolBackward está implementado en CodeStringMorph. Cómo es esto ? Una clase puede utilizar un método de su clase hija ? Me declaro ignorante, si alguien tiene a bien explicarme.... Edgar __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas correo electrónico a: [hidden email] correo electrónico a: [hidden email] Enlaces de Yahoo! Grupos <*> Para visitar el sitio web del grupo, andá a: http://ar.groups.yahoo.com/group/squeakRos/ <*> Para cancelar tu suscripción a este grupo, enviá un mensaje a: [hidden email] <*> El uso de Yahoo! Grupos está sujeto a las: http://ar.docs.yahoo.com/info/utos.html |
Hola Edgar,
La respuesta es bien simple: "self" referencia a una instancia, no a una clase. Cuando en cualquier parte del código tenemos algo como "self foo", lo que debemos leer es "le enviamos el mensaje #foo al objeto referenciado con 'self'". El código ST nunca dice "llamar a tal método de tal clase", sólo dice "enviarle el mensaje tal, al OBJECTO (instancia) tal". Lo que ocurre en ese código que pasaste, es que sólo "funcionará" (el método) cuando se invoque con alguna instancia de alguna subclase que implemente #querySymbolBackward: El código está feo, pero no es incorrecto (desde el punto de vista de la semántica de Smalltalk). Saludos, -- Diego > Pregunta a los que saben mas. > > Estoy tratando de resucitar los MorphicWrappers y los MathMorphs, junto con > Milan Zimmermann. > > En un lugar del código encuentro: > EditableStringMorph subclass: #CodeStringMorph > instanceVariableNames: 'bindings target actionSelector arguments history > historyPosition original expansions currentPosition' > classVariableNames: '' > poolDictionaries: '' > category: 'MorphicWrappers-Support' > > O sea que CodeStringMorph hereda de EditableStringMorph > > Tratando de ver de autocompletar las clases a partir de las letras > tiepeadas, veo en keyStroke: evt de EditableStringMorph ; > > > ch = Character tab > ifTrue: > [evt shiftPressed > ifTrue: [self querySymbolBackward: self contents] > ifFalse: [self querySymbolForward: self contents]. > ^ self fitContents] > > pero querySymbolBackward está implementado en CodeStringMorph. > > Cómo es esto ? Una clase puede utilizar un método de su clase hija ? > > Me declaro ignorante, si alguien tiene a bien explicarme.... > > Edgar -- ========================================== Diego Gomez Deck ------------------------------------------ http://www.consultar.com/DiegoGomezDeck/ http://diegogomezdeck.blogspot.com/ http://smalltalk.consultar.com/ ========================================== correo electrónico a: [hidden email] correo electrónico a: [hidden email] Enlaces de Yahoo! Grupos <*> Para visitar el sitio web del grupo, andá a: http://ar.groups.yahoo.com/group/squeakRos/ <*> Para cancelar tu suscripción a este grupo, enviá un mensaje a: [hidden email] <*> El uso de Yahoo! Grupos está sujeto a las: http://ar.docs.yahoo.com/info/utos.html |
El código ST nunca dice "llamar a tal método de tal clase", sólo dice
"enviarle el mensaje tal, al OBJECTO (instancia) tal". Gracias , Diego.!!! Clarísimo, por un momento me olvide de esto, que es fundamental. En esos originales hay cosas peores desde el punto de vista de la fealdad, pero que duda cabe que la gente que hizo MorphicWrappers y MathMorphs estaba inspirada... Aprovecho para felicitarte por tu idea del Live-Wiki. Estaría bueno, que ya que sos el autor , mandaras un mensajito aquí así algunos que no leen otras listas se enterarán. A mi me gustaría colaborar en eso, así aprendo, y si me autorizás tratar de meterlo en mis imágenes chicas. Abrazo Edgar |
Free forum by Nabble | Edit this page |