Paradigmas de Programación‎ > ‎Software‎ > ‎Pharo‎ > ‎

Usando el Object Browser

ATENCIÓN:
Ésta página contiene información Obsoleta. La nueva versión con manual de uso del Object Browser está en: Software -> Pharo -> Object Browser

Antes de empezar, si todavía no tenés el Pharo con la imagen de pdep que trae el Object Browser, subí a Pharo y seguí los pasos indicados. Una vez que ya tengas todo se puede abrir la imagen arrastrando Pharo-pdep-1.1.image al iconito del Pharo.

Se debería iniciar con la ventana del Object Browser abierto, listo para usar. Si no la tenés o la cerraste, se puede volver a abrir haciendo click sobre el fondo y eligiendo 'Object Browser' en el menú World.

El Object Browser tiene 4 subdivisiones (ver Attachment ObjectBrowser): 
- Arriba se encuentran (de izquierda a derecha) los paneles para los objetos, sus variables y mensajes que entiende.
- Abajo hay un espacio en blanco para escribir código. Con el botón Workspace nos muestra el código con el cual probamos nuestros objetos y les mandamos mensajes, con el botón Method Editor podemos escribir nuevos métodos o editar alguno existente (seleccionando previamente el selector del mismo en el panel correspondiente).

Importante:
A la hora de trabajar con Pharo, si queremos guardar los cambios que hicimos desde que abrimos la imagen, en el menú World está la opción Save (y la opción Save and quit, en caso de que lo quieran cerrar). Esto guarda una foto del estado actual del Pharo en el momento actual, con lo cual al volver a abrir la imagen va a estar todo exactamente igual que cuando guardaron. Cualquier cambio que hagan después de guardar la imagen, si cierran y no vuelven a guardar se pierde. Save As... hace una copia de la imagen completa, probablemente no sea lo que están buscando.

Empezando a interactuar con los objetos...

Para crear nuevos objetos hacemos click derecho en el panel de los objetos -> Nuevo Objeto. De la misma forma podemos agregarle variables teniendo el objeto seleccionado en el segundo panel.
Para definirle un método, en la vista Method Editor escribimos el código y correspondiente y le damos Click derecho -> Aceptar (o Ctrl-S).

Una vez que ya tenemos algo de código podemos ir al Workspace y mandarle los mensajes que nuestros objetos entiendan. Por ejemplo:

pepita initialize.
pepita energia.

Para evaluar todo el workspace debemos seleccionar las dos líneas, click derecho y dependiendo de lo que queramos seleccionar una de las siguientes opciones:
- do it (ctrl-d): Ejecuta el código y no muestra el resultado de la evaluación.
- print it (ctrl-p): Ejecuta el código y muestra el objeto resultante de la evaluación dentro del workspace.
- inspect it (ctrl-i): Ejecuta el código y muestra el objeto resultante de la evaluación en una ventanita aparte (muy útil si queremos conocer el estado interno de un objeto complejo)

Clonación de objetos

A medida que avanzan los requerimientos sucede que aparecen varios objetos con comportamiento idéntico o que difieren en algo muy particular (por ejemplo, ahora lo tenemos a pepe, que se comporta igual que pepita pero entiende también el mensaje descansa).

Una alternativa es crearlos a mano de la manera que ya sabemos y copiar y pegar aquellos métodos que sean iguales. La otra es clonar a pepita y llamar a ese nuevo objeto pepe. Vamos a ver que tanto los atributos como los métodos ahora también los tenemos en pepe, y de ahí en más podemos hacer todas las modificaciones que queramos.

Algunas observaciones:
  • Los objetos con clones no pueden ser eliminados.
  • Si hago un cambio en el objeto clonado (pepita), los mismos se reflejan en en clon (pepe) a menos que previamente ese método lo hayamos modificado en pepe (en ese caso, sólo cambia el de pepita)
Ok, todo muy lindo, pero tengo entrega mañana y no sé cómo sacar lo que hice

Lo que se entrega por lo general es un file out del código por un lado y el workspace de prueba por el otro. El file out es un planchado de nuestro código en un archivo plano que se puede obtener desde el Pharo. El workspace directamente se copia a mano al notepad y se imprime así nomás.

Ahora, cómo se hace para generar el file out? Actualmente el object browser no tiene integrada la opción para pasar el código a un archivo, por lo cual hay que buscarlo por otro lado de esta manera.

1) Abrir el Class Browser (Ver Attachment: fileOut1)
2) Seleccionar la categoría llamada ObjectBrowser-Objects en el primer panel del Class/System Browser, darle click derecho -> File Out (Ver Attachment: fileOut2). Esta categoría la van a encontrar entre las últimas, no por orden alfabético.

Eso les va a generar un archivo en el mismo directorio en donde tienen la imagen con el nombre ObjectBrowser-Objects.st
Si lo abren con el notepad van a ver que es medio raro, tiene muchos ! por todos lados, pero no se preocupen, si imprimen eso su ayudante amigo va a quedar chocho.
ą
Mariana Matos,
27 ago. 2010 15:58
ą
Mariana Matos,
27 ago. 2010 16:33
ą
Mariana Matos,
27 ago. 2010 16:34
Comments