Ewwwww que asco. Sale una subclass? :)
2009/7/5 Aureliano Calvo <[email protected]>: > Parece que las opciones menos probables a veces son las que pasan. > Monkeypatchié Regexp y arreglé el problema. Este es el patch: > > class Regexp > alias_method :old_rapidito_inspect, :inspect > > def inspect > �...@inspect = old_rapidito_inspect if @inspect.nil? > �...@inspect > end > > def eql?( other ) > false if other.class != Regexp > self.inspect == other.inspect > end > > alias_method :"==", :eql? > > def hash > self.inspect.hash > end > end > > Bueno, > parece que tengo post nuevo en mi blog :D, > Aureliano. > > 2009/7/5 Rodrigo Dominguez <[email protected]>: >> Debería... pero si a veces anda y a veces no, no tenes forma de atrapar >> cuando no anda, y loguear toda la información de la instancia de la clave y >> la instancia con la cual queres buscar esa clave? >> >> Es un poco rompe pelotas, pero quisiera imaginarme que un bug en el >> lenguaje/librería de hash sea la opción menos probable, y que si a veces >> anda y a veces no, se deba a un error lógico del código más que a un error >> de ruby, si fuese un error lógico, reimplementar eql y hash de Regexp es lo >> más tedioso... aunque debería de ser relativamente sencillo ;) >> >> En fin, de las 9 AM que estoy programando, me voy a pasear un rato, si no lo >> resolves pásame el código :) >> >> Saludos ;) >> >> -----Original Message----- >> From: [email protected] [mailto:[email protected]] On Behalf >> Of Aureliano Calvo >> Sent: Domingo, 05 de Julio de 2009 06:37 p.m. >> To: Rodrigo Dominguez >> Cc: Grupo Ruby Argentina >> Subject: Re: [RubyArg] Expresiones regulares como claves en hashes >> >> La clave en cuestión es >> /([A-Za-z0-9]|\303[\200-\277])*(_([A-Za-z0-9]|\303[\200-\277])+)+/. >> Estoy probando con: >> $ ruby --version >> ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux] >> >> Lo raro, es que anda a veces sí y a veces no. El código que hace que >> todo falle es demasiado grande como para postearlo en la lista y no >> encontré como achicarlo. Estoy pensando en cortar camino y >> reimplementar eql y hash de Regexp. Eso debería andar. >> >> Aureliano. >> >> 2009/7/5 Rodrigo Dominguez <[email protected]>: >>> http://www.ruby-doc.org/core/classes/Hash.html >>> >>> Siguiendo la doc, recupera la key del hash que no te devuelve (ya fuese >>> iterando el hash, o lo que fuese), y a través del .eql? fijate si es igual >>> a la key con la cual queres traer el valor de esa key... >>> >>> Si todavía te putea, volviendo a la doc del Hash, implementa tu propia >>> clase que defina eql? Y hash y ahí debería de andarte. >>> >>> Por otro lado, si queres, postea la key en cuestión y como es que te falla. >>> >>> Saludos ;) >>> >>> -----Original Message----- >>> From: [email protected] >>> [mailto:[email protected]] On Behalf Of Aureliano >>> Calvo >>> Sent: Domingo, 05 de Julio de 2009 06:04 p.m. >>> To: Grupo Ruby Argentina >>> Subject: [RubyArg] Expresiones regulares como claves en hashes >>> >>> Hola, >>> >>> estoy teniendo un bug muy raro en el que tengo un Hash que tiene como >>> claves regex y símbolos contesta que no tiene un elemento que tiene. >>> >>> El hash tiene más de 10 elementos y cuando hago h[h.keys[2]] devuelve >>> nil!!!!!!!! >>> >>> ¿Saben si se pueden usar expresiones regulares como claves de hashes? >>> En la iteración anterior, el hash con regexs como claves andaba joya. >>> >>> ¿Les pasó algo parecido antes?¿el problema vendrá por otro lado? >>> >>> Muchas gracias, >>> Aureliano. >>> _______________________________________________ >>> Ruby mailing list >>> [email protected] >>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >>> >>> >>> __________ Información de ESET Smart Security, versión de la base de firmas >>> de virus 4219 (20090705) __________ >>> >>> ESET Smart Security ha comprobado este mensaje. >>> >>> http://www.eset.com >>> >>> >>> >> >> __________ Informacin de ESET Smart Security, versin de la base de firmas de >> virus 4219 (20090705) __________ >> >> ESET Smart Security ha comprobado este mensaje. >> >> http://www.eset.com >> >> >> >> >> __________ Información de ESET Smart Security, versión de la base de firmas >> de virus 4219 (20090705) __________ >> >> ESET Smart Security ha comprobado este mensaje. >> >> http://www.eset.com >> >> >> > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
