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

Responder a