[Off-Topic] Preguntas sobre Smalltalk (era: tortuga lenta)

Diego Gomez Deck <[email protected]>
Newsgroups gmane.education.small-land
Message-ID <[email protected]>
Hola Daniel,

> En Logo, ya que es un lenguaje en el que los datos
> pueden hacerse programas, 

En Smalltalk no hay diferencias entre los "datos" y los "programas" ya
que ambas cosas son Objetos y estos se comunican emitiendo mensajes.

> existen dos procedimientos
> (rutinas en Basic, funciones en C) el uno llamado
> tortugalenta y el otro tortugarapida.
> 
> Tortugalenta recibe una entrada (argumento) que
> es la velocidad. Con este dato de la velocidad
> redefine los procedimientos avanza, retrocede,
> giraizquierda y giraderecha, convirtiéndolos en
> versiones lentas, por ejemplo, si la velocidad
> es 40, redefine:
> 
> copiadef "avanza "avanza.original
> copiadef "giraderecha "giraderecha.original
> 
> para avanza :distancia
> repite 40 [avanza.original :distancia / 40]
> fin
> 
> para giraderecha :giro
> repite 40 [giraderecha.original :giro / 40]
> fin
> 
> Cómo se hace en Smalltalk para que un método
> redefina a otro método? 

De la misma forma que se hace todo en Smalltalk: Enviando mensajes a
Objetos.

En el caso concreto se puede enviar un mensaje al objeto compilador, o a
la clase, etc.

> Es posible que un
> objeto se reprograme así mismo?

Es posible que un objeto le mande mensajes a cualquier objeto, entre los
objetos que tenemos hay algunos que pueden generar objetos que tienen
comportamiento.

En Smalltalk un objeto puede "reprogramar" a cualquier otro, inclusive a
si mismo.

> Daniel

-- Diego




------------------------ Yahoo! Groups Sponsor --------------------~--> 
Make a clean sweep of pop-up ads. Yahoo! Companion Toolbar.
Now with Pop-Up Blocker. Get it for free!
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/zCsqlB/TM
--------------------------------------------------------------------~-> 

Visita nuestro sitio en http://www.small-land.org
 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/small_land/

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.