Considere el siguiente código:¿Las cadenas en Ruby son mutables?
$ 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)
parece que los caracteres individuales se puede cambiar w/o la creación de una nueva cadena. Sin embargo, agregar a la cadena aparentemente crea una nueva cadena.
¿Las cadenas en Ruby mutable?
Sí, y responde a través de búsquedas triviales. http://stackoverflow.com/questions/2608493/why-did-matz-choose-to-make-strings-mutable-by-default-in-ruby –
@DaveNewton: ¿No es genial lo fácil que es encontrar dúplex en SO, ya que casi puede contar con un tema SO que aparezca primero en google? –
'+' es Concatenante y devolverá una nueva cadena. '<<' está Anexando y se agregará al objeto de cadena dado (no creará uno nuevo). – Chad