Ja...y esta?
irb(main):034:0> r = /\141/ => /\141/ irb(main):035:0> r.hash => 473091087 irb(main):036:0> r =~ "a" => 0 irb(main):037:0> r.hash => -1048226273 141 es ASCII (es la letra 'a'), aún así tiene el mismo problema. Me parece que no viene por el lado del encoding la cosa, es un tema de usar valores octales y hexadecimales en vez de caracteres. (sorry por el multi-mensaje) 2009/7/10 Bruno Deferrari <[email protected]>: > Otra más: > >> res = [/\xc3\x81/, /\303\201/, /Á/] > => [/\xc3\x81/, /\303\201/, /\303\201/] >> res.map &:hash > => [527397363, -279873034, 141541] >> res.each {|re| re =~ "hola"} > => [/\xc3\x81/, /\303\201/, /\303\201/] >> res.map &:hash > => [404259843, -403010554, 141541] > > y > > irb(main):014:0> res = [/\xc3\x81/u, /\303\201/u, /Á/u] > => [/\xc3\x81/u, /\303\201/u, /\303\201/u] >> res.map &:hash > => [527397363, -279873034, 429037] >> res.each {|re| re =~ "hola"} > => [/\xc3\x81/u, /\303\201/u, /\303\201/u] >> res.map &:hash > => [404259843, -403010554, 429037] > > Solo la versión con 'Á' cambia de hash al usar 'u' como modificador. > > 2009/7/10 Bruno Deferrari <[email protected]>: >> 2009/7/10 Pablo Herrero <[email protected]>: >>> Lo unico que creo q deberia de considerase bug es que /\303\200/u != /À/u >> >> Mirate esto: >> >> irb(main):001:0> [/\303\201/.source, /Á/.source] >> => ["\\303\\201", "\303\201"] >> >> La documentación dice: >> "Equality—Two regexps are equal if their patterns are identical, they >> have the same character set code, and their casefold? values are the >> same." >> >> Mi pregunta es, deberían considerarse idénticos (que no es lo mismo >> que equivalentes) esos 2 patrones? >> > _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
