> J'ai voulu implémenter la fonction de Fred ci-dessous, mais
> l'interpréteur Ruby n'aime pas... les accents, justement !
>
>   def remove_accents( str )
>
>     accents = { ['á','à','â','ä','ã','Ã','Ä','Â','À'] => 'a',
>                 ['é','è','ê','ë','Ë','É','È','Ê'] => 'e',
>                 ['í','ì','î','ï','I','Î','Ì'] => 'i',
>                 ['ó','ò','ô','ö','õ','Õ','Ö','Ô','Ò'] => 'o',
>                 ['OE'] => 'oe',
>                 ['ß'] => 'ss',
>                 ['ú','ù','û','ü','U','Û','Ù'] => 'u'
>     }
>     accents.each do |ac,rep|
>       ac.each do |s|
>         str.gsub!(s, rep)
>       end
>     end
>     return str
>
>   end
>

IMHO l'implémentation de cette méthode n'est pas optimale, au niveau
performance elle est a peu près équivalente à la méthode de Thibault
avec un support de caractère bien moindre.

- La table de correspondance est redéfinie à chaque execution, donc +
de GC et du temps perdu.
- Et il y a beaucoup trop d'itération, précompiler un nombre limité de
regexp serait beaucoup plus performant et éviterait que gsub le fasse
à chaque execution.

Si c'est executé une fois de temps en temps ca n'a pas d'importance
mais en cas d'utilisation intensive ca n'est pas terrible.


--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---

Répondre à