Hola, buenas noches, estoy intentando hacer un método que devuelva un atributo del Objeto que es una Ordered Collection. ¿De qué forma puedo hacer esto? Busqué bastante en google pero no encontré nada. Perdón si es muy trivial la pregunta pero no termino de darme cuenta de que forma podría hacer esto.
Mil gracias!
Hola Leonardo,
Simplemente necesitás devolver una variable que previamente haya sido instanciada.
| coleccion | coleccion := OrderedCollection new. ^ coleccion.
Eso lo podés hacer en el mismo método que querés que devuelva la colección (que será una variable local) o en el método initialize (que se ejecuta en la creación) guardando la referencia a la colección en una variable de instancia (atributo) que probablemente sea lo que necesites. El método initialize lo tenés que crear vos y tiene que llamarse exactamente así.
Saludos,
Tomás
¡Muchas gracias! Después de un rato viendo mi problema, radica en que una variable o argumento de un mensaje de mi clase "RottenTomatoes" no conoce el mensaje que le estoy pasando.
La cosa es así, quiero implementar un método de la forma:
agregarPeliculas: unaColeccionPeliculas
Ahora, cómo hago para ingresar a esa colección de peliculas que yo modele como un objeto de la clase Ordered Collection?
En la clase Películas me cree un atributo que contiene esa Ordered Collection y, en cada posición, un objeto del tipo Película. Hice a su vez un método que hace un return de esa colección y el problema está en que cuando quiero usar ese ḿetodo (el que devuelve la colección, la lista o como se quiera llamar) en la clase RottenTomatoes el "compilador" me indica que el objeto no conoce ese mensaje.
Lo que no estaría entendiendo es por qué en este argumento "unaColeccionPeliculas" no puedo realizar algo de la forma unaColeccionPeliculas ObtenerLista? Cómo podría realizar esto? No sé si se termina de entender la pregunta... Desde ya mil gracias!
Sí, se entiende. Pero responderte eso sería resolverte el TP. Lo que te puedo decir es que en ningún lado dice que el método agregarPeliculas: de la clase RottenTomatoes tiene que recibir una instancia de OrderedCollection. En el enunciado se muestra que lo que se le pasa como parámetro es una instancia de la clase Peliculas y tu solución debe lograr que la instancia de RottenTomatoes le mande mensajes a la instancia de Peliculas para hacer lo que necesita.
Si en algún momento Pharo te dice que un objeto no entiene el mensaje que le estás intentando pasar es porque muy probablemente no lo hayas instanciado o porque no sea la instancia de la clase que creés que es. En ese caso podrías depurar tu código para encontrar el error (hay un video sobre el debugger de Pharo en la página de recomendaciones para el TP0). Si se te complica mucho probá con algún ejemplo más sencillo que no sea del TP y por favor no pongas en el foro parte de tu solución como acabás de hacer.
Saludos,
Tomás