Buenas tardes,
Estuve leyendo la bibliografia recomendada pero no encontre lo que busco. Queria saber si hay algun metodo para recorrer una OrderedCollection o alguna otra coleccion pasandole como parametro cierta clave a fin de obtener la posicion o indice donde se ubica tal clave.
Desde ya gracias.
Ariel
Hola Ariel,
Hay muchas maneras de hacer algo así. El capítulo sobre colecciones del libro Pharo By Example te explica cómo recorrer las distintas colecciones. Si eso no te ayuda, en el System Browser podés buscar cada uno de los mensajes de las colecciones a ver si hay alguno que haga lo que vos querés. Te dejo algunas ideas:
- Podés recorrer toda la colección con el mensaje do: e ir comparando cada elemento con el que querés buscar y al mismo tiempo incrementar un contador. Una vez encontrado el elemento, el contador tendrá la posición a la cual podrás acceder luego con el mensaje at:
- Podés utilizar el mensaje indexOf: que recibe un objeto y devuelve su posición dentro de la colección.
- Si vas a trabajar con claves y valores quizás te convenga utilizar otra estructura que hayas visto en Algoritmos y Programación II, como por ejemplo un Dictionary.
Recordá que en Pharo los índices empiezan en 1 y no en 0.
Saludos,
Tomás
Hola, si no recuerdo mal hay un mensaje para las Collections indexOf: o identifyIndexOf:, o algo por el estilo, que haria lo que estas necesitando. Te recomiendo abrir la implementacion del objeto que estas usando en el System Browser, ahi podes ver todos los mensajes que puede recibir el objeto y hasta sus implementaciones comentadas con una breve explicacion. Recorda que basicamente todo es un objeto que se puede ver y modificar en Pharo. Saludos