Considérons le code suivant :
$ irb
> s = "asd"
> s.object_id # prints 2171223360
> s[0] = ?z # s is now "zsd"
> s.object_id # prints 2171223360 (same as before)
> s += "hello" # s is now "zsdhello"
> s.object_id # prints 2171224560 (now it's different)
Il semble que les caractères individuels peuvent être modifiés sans créer une nouvelle chaîne. Cependant, l'ajout à la chaîne de caractères crée apparemment une nouvelle chaîne.
Les chaînes de caractères en Ruby sont-elles mutables ?