> Preguntonta: ¿no podés evitar utilizar una Regexp como key en un Hash, > Aureliano?. Si bien Regexp cumple la restricción mínima, que es que > (a.eql?(b)) ==> (a.hash == b.hash), modifica el hash cuando le da la gana > (eso no está prohibido pero es un warning, que necesita de un rehash[1]). De > última rehasheá tu Hash constantemente...
Estoy tokenizando un string y tomando acciones para cada string en función de que regexp matchea al tokenizar. Por eso lo más trivial me pareció usar la regexp que matchea como clave en el diccionario de acciones a tomar. Pero siempre puedo usar una clave de otro tipo (un string, por ejemplo) que pueda deducir de la regexp (por ejemplo, regexp.inspect). Por ahora creo que lo voy a dejar monkeypatcheado, pero no descarto cambiar las claves de ese diccionario a strings y esquivar el bulto de este problema. De todas maneras, no me deja nada tranquilo que una clase que tiene los métodos hash y eql? definidos adrede cambie el estado por izquierda de un objeto sin poder ver que cambia en una operación que no debería cambiar nada. ¿Habría que ponerlo como bug en algún lado? ¿Saben si se da el mismo problema en Ruby 1.9? Saludos, Aureliano. _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
