Quelqu'un connaît-il une gemme Ruby (ou intégrée, ou syntaxe native, d'ailleurs) qui fonctionne sur les guillemets externes des chaînes?code ruby pour modifier les quotes externes sur les chaînes?
Je me retrouve à écrire des méthodes comme celle-ci, encore et encore:
remove_outer_quotes_if_quoted(myString, chars) -> aString
add_outer_quotes_unless_quoted(myString, char) -> aString
Les premiers tests myString
pour voir si son début et fin des personnages correspondent à un caractère en chars
. Si c'est le cas, il renvoie la chaîne avec des guillemets supprimés. Sinon, il le retourne inchangé. Par défaut, chars
correspond à une liste de caractères de guillemets.
La seconde teste myString
pour voir si elle commence déjà et se termine par char
. Si c'est le cas, il retourne la chaîne inchangée. Si ce n'est pas le cas, il renvoie la chaîne avec char
collée avant et après, et toute occurrence incorporée de char
est échappée avec une barre oblique inverse. Par défaut, char
est le premier d'une liste de caractères par défaut.
(Mes méthodes de main-bricolé n'ont pas des noms verbeux, bien sûr.)
Je l'ai regardé autour des méthodes similaires dans les prises en pension publics mais ne peut pas trouver quelque chose comme ça. Suis-je le seul qui a besoin de faire cela beaucoup? Si non, comment tout le monde fait cela?
Vous pouvez regarder * pourquoi * vous faites cela beaucoup. Une petite analyse des causes profondes peut vous aider à rendre votre code plus propre. –
@ Mark Thomas: Si je pouvais voter votre commentaire plus, je le ferais. Comme il me semble qu'il y a un problème sous-jacent plus profond. – mpd
Heh heh.La cause première est que je travaille avec quelques API différentes, chacune citant les mêmes données légèrement différemment. Je n'ai vraiment aucun contrôle sur eux. – Blue