Para agregar a una cadena existente, esto es lo que estoy haciendo.
s = 'hello'
s.gsub!(/$/, ' world');
¿Existe una mejor manera de agregar a una cadena existente?
Antes de que alguien sugiera la siguiente respuesta, déjame mostrar que esta no funciona
s = 'hello'
s.object_id
s = s + ' world'
s.object_id
En el caso anterior, object_id será diferente en dos casos.
<<
ya modifica el estado del objeto. También lo haceconcat
.widget.notes.where(:author_id => a).first
presumiblemente devuelve un nuevo objeto cada vez, que tendrá su propia cadena independiente.también puede utilizar lo siguiente:
fuente
<<
también debería ser encadenable, ya que devuelve la cadena.¿Puedo preguntar por qué esto es importante?
Sé que esta no es una respuesta directa a su pregunta, pero el hecho de que esté intentando preservar el ID de objeto de una cadena podría indicar que debería volver a mirar lo que está intentando hacer.
Puede encontrar, por ejemplo, que confiar en el ID de objeto de una cadena dará lugar a errores que son bastante difíciles de rastrear.
fuente
Sin embargo, de otra manera:
fuente
He aquí otra forma:
fuente