No puedo, quiero usar la notación nativa de expresiones regulares (/\d+/, por ejemplo).
2009/7/6 Nicolás Sanguinetti <[email protected]>: > 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
