0021 String_concatenation

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 ⚠️.

0021-string_concatenation_1.png

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éthode to_s
  • Un String est créé à chaque appelle à +, l’interpolation n’en créé qu’un.

0021-string_concatenation_2.png

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.

0021-string_concatenation_3.png

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 >>.

0021-string_concatenation_4.png

Les liens vers la documentation Ruby de <<, concat et prepend.