Una pregunta sobre el uso de una lista o cualquier coleccion en Pharo. El mensaje do sirve para aplicar un mismo bloque de acciones a cada elemento de esa lista. Supongamos que tengo una lista de objetos, que tiene sus propios métodos (ejemplo: Alumno, que cuenta con el método calificar), ¿como sería la sintaxis para calificar cada elemento de la lista?
Espero que se entienda. Gracias
Hola Franco,
Te recomiendo fijarte los ejemplos de código del capítulo sobre colecciones del libro Pharo By Example (página 209 en la última versión). Fijate que el iterador do:
espera recibir un bloque de código en el que en la primera parte se declarará la variable local para cada iteración que tendrá la referencia a cada objeto iterado, de manera tal que en la segunda parte del bloque de código hagas lo que quieras con él:
coleccion do: [ :each | Transcript show: each; cr ].
En tu ejemplo, asumiendo que tenemos una clase Alumno
con el mensaje calificar:
implementado y que alumnos
es una instancia de alguna colección que contiene instancias de la clase Alumno
, entonces para poder enviarle el mensaje calificar: 2
a cada uno de los alumnos de la colección se podría hacer algo así:
alumnos do: [ :alumno | alumno calificar: 2 ]
Saludos,
Tomás