Muchas gracias Bruno y Guillermo! Tengo mucho que aprender 😅 El lunes, 1 de febrero de 2016, 13:06:22 (UTC-3), Guillermo Schwarz escribió: > > ok, pero esa es la implementación interna. Podría ser otra. En la > práctica es el compilador el que se encarga de crear los métodos (lo > que es lógico si piensas que los métodos están siempre compilados a > bytecode)... cuando editas un método en realidad lo que ocurre es que > el objeto "method" tiene un puntero a donde se encuentra el fuente del > método dentro de un archivo de log. Al hacer "save", en realidad lo > que hace el compilador es crear un nuevo método, descarta el antiguo > (nadie apunta a él => garbage collection), el nuevo fuente se guarda > en el log, y el nuevo método apunta en el log al punto donde está > guardado el fuente. > > Es ingenioso y al mismo tiempo muy eficiente, pero sigue siendo la > implementación. Eso confunde a los newbies, IMHO. > > Si eres newbie... en la práctica lo que tienes que hacer para definir > un nuevo método en una clase es ir al systemBrowser o al class browser > y hacer click derecho sobre la clase y "new method". > > Un hack es tomar un método que ya existe, editarlo cambiándole el > nombre, y el entorno se encarga de crear un nuevo método. No es muy > intuitivo para los primerizos, pero funciona. > > On 2/1/16, Smalltalk <[email protected] <javascript:>> wrote: > > Hola, > > > > Los metodos son: > > Behavior>>compile: > > Class>>compile:categories: > > .... > > > > Busca por que hay mas metodos para compilar codigo en la jerarquia de > > clases de Behavior. > > > > MyClass compile: 'testMethod > > ^nil'. > > > > saludos, > > bruno > > > > El 31/01/2016 a las 22:59, Facundo Javier Gelatti escibió: > >> Hola a todos! > >> > >> Cuando me encontré por primera vez con smalltalk, me resultó buenísima > >> la idea de que las clases se definan enviando un mensaje a la > >> superclase, y me surgió la duda (todavía sin resolver) sobre qué pasa > >> cuando acepto el código de un método en el browser. ¿Se termina > >> enviando algún mensaje "parecido" al que sirve para definir una clase? > >> Me imaginaba algo así como: > >> > >> | > >> ClassNamedefineMethod:#message:selector: as: [ :arg1 :arg2 | > >> ... > >> ] > >> | > >> > >> Saludos! > >> -- > > > > --- > > El software de antivirus Avast ha analizado este correo electrónico en > busca > > de virus. > > https://www.avast.com/antivirus > > > > -- > > -- > Saludos cordiales, > > Guillermo Schwarz >
-- -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org --- Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" de Grupos de Google. Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a [email protected]. Para obtener más opciones, visita https://groups.google.com/d/optout.
