uqbar-project / wollok-language

Wollok language definition
GNU General Public License v3.0
7 stars 9 forks source link

Agregarle `indexOf` a las listas #42

Open clombardi opened 5 years ago

clombardi commented 5 years ago

Eso, si usamos las listas como listas, o sea le damos bola al orden, podríamos preguntar p.ej. quiénes llegaron antes que una determinada persona. Eso tiene una resolución simple y elegante:

gente.take(gente.indexOf(persona)+1)

peeeero me falta el indexOf.

JuanFdS commented 5 years ago

Me surgió una necesidad similar hace poco queriendo implementar algo como "Quiero obtener el siguiente elemento a este que conozco de la lista".

Un par de cosas que estaba pensando se podrían tener en cuenta es:

npasserini commented 5 years ago

Me gusta. Lo único que me parece medio raro son las versiones *LastWhile, requieren recorrer la lista de atrás para adelante.

El sáb., 19 de oct. de 2019 a la(s) 10:37, Juan Manuel Fernandes dos Santos (notifications@github.com) escribió:

Me surgió una necesidad similar hace poco queriendo implementar algo como "Quiero obtener el siguiente elemento a este que conozco de la lista".

Un par de cosas que estaba pensando se podrían tener en cuenta es:

  • ¿Qué pasa si el elemento está varias veces? ¿Se podría tener indexesOf, firstIndexOf y/o lastIndexOf?
  • Ambos tu problema y el que tuve yo se podrían resolver también con takeWhile y dropWhile, que a favor me parece que son más declarativos y tal vez evitan algunos errores al no tener que pensar en índices. (si en algún momento se agregase esto, no estaría mal tener también las variantes desde el final de la lista: takeLast, takeLastWhile, dropLast y dropLastWhile 👀 )

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/uqbar-project/wollok/issues/1816?email_source=notifications&email_token=ABDLKON6GNPTFX5TAKCPKELQPMEQZA5CNFSM4I2MPHZ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBXPZ3I#issuecomment-544144621, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDLKOKAOCUVXSWTFWMAZEDQPMEQZANCNFSM4I2MPHZQ .

fdodino commented 5 years ago

Mmm... me gustaría que cerremos una definición, mientras tanto lo paso a wollok-language ya que creo que se puede resolver directamente en Wollok