Concaténation de chaînes de caractères
La méthode +
et l’interpolation créent un nouveau String. En revanche la méthode <<
modifie directement l’instance de la variable a
. En Ruby les String ne sont pas immuables ⚠️.
Avec plus de 3 concaténations (et même 2 !), toujours préférer l’interpolation à la méthode +
:
+
permet uniquement de concaténer des String, l’interpolation appelle implicitement la méthodeto_s
- Un String est créé à chaque appelle à
+
, l’interpolation n’en créé qu’un.
La méthode <<
sera préférable à +=
s’il est possible de modifier l’instance d’origine. Elle peut également prendre en argument un entier, qui sera converti en String via le code unicode.
Besoin de concaténer plusieurs arguments ou même de préfixer, Ruby a pensé à tout, presque ! L’implémentation de concat
est la même que <<
, acceptant aussi un entier. Ce n’est pas le cas de prepend
n’acceptant que des String et n’ayant pas l’opérateur équivalent >>
.
Les liens vers la documentation Ruby de <<
, concat
et prepend
.