Generé un hash (que se llama @rules) que no tiene un elemento que tiene. O sea,
@rules[@rules.keys[2]] da nil, pero @rules.values[2] devuelve el objeto asociado a la clave @rules.keys[2]. Como este hash tiene como claves un montón de expresiones regulares, me imaginé que había un problema con el hash y el eql? de Regexp, así que los implementé de nuevo y monkeypatchié.Este es el código:
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
Esta corrección me anduvo con la siguiente versión de ruby:
$ ruby --version
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
Espero que les sirva.
Happy hacking,
Aureliano.
Aureliano,
ResponderBorrarMi nombre es Alexis Walker, tengo una empresa que provee servicios de diseño y programacion. Estoy buscando un programador que tenga muy buenos conocimientos de SQL y que tambien tenga conocimientos de Ruby on Rails para un proyecto nuevo.
El proyecto tiene el potencial de durar mes a mes por varios meses.
Hice una busqueda y encontre tu perfil y queria saber si estarias interesado en conocer mas acerca del proyecto o si conces a alguien que pueda estar interesado.
Muchas gracias,
Alexis Walker
alexis@ikonwire.com
Hola amor!!
ResponderBorrar