Concatenar Variables

Buenas, estoy intentando hacer un pequeño programa y se me plantea el
siguiente problema:

ab=“Texto de prueba”
c=“a”
d=“b”
puts c+d

El caso esque yo lo que quiero esque el puts muestre “Texto de prueba”,
pero muestra “ab”.
Como puedo hacer para que una variable apunte a otra, es decir, si por
ejemplo ahora añado:

ab=“Texto de prueba”
c=“a”
d=“b”
e=c+d

Que la variable e, contenga a la variable ab, no a la cadena “ab”, eso
es lo que me interesa.

Bueno, gracias de antemano y saludos!

En todos los casos estas asignando texto a las variables, ese es el
problema.

irb(main):001:0> a = “hola”
=> “hola”
irb(main):002:0> b = a
=> “hola”
irb(main):003:0> b
=> “hola”
irb(main):004:0>

En tu ejemplo la linea c=“a” no asigna el valor de la variable a, sino
la
letra a.

2008/4/29 Diego G. [email protected]:

Hola,

ab=“Texto de prueba”
c=“a”
d=“b”
puts c+d

El caso esque yo lo que quiero esque el puts muestre “Texto de prueba”,
pero muestra “ab”.

eso que pides huele de lejos a peligro y a código difícil de mantener…
pero sin entrar a valorar si lo que quieres es buena idea o no, se
consigue así

eval c+d

suerte,

javier ramírez

eso que pides huele de lejos a peligro y a código difícil de mantener…
pero sin entrar a valorar si lo que quieres es buena idea o no, se
consigue así

eval c+d

suerte,

javier ramírez

Vale, muchas gracias, ahora si que me funciona. Pero el caso siempre es
mejorar, y no entiendo el porqué de el codigo será dificil de mantener o
peligroso.

gracias de nuevo y saludos

Vale, muchas gracias, ahora si que me funciona. Pero el caso siempre es
mejorar, y no entiendo el porqué de el codigo será dificil de mantener o
peligroso.

En general el código que es difícil de entender es difícil de mantener.
Utilizar una evaluación de variables de esa manera no es algo obvio, por
lo que de cara a mantener el código necesitarás un comentario explicando
qué hace. En general los comentarios que no se pongan a principio de un
método sino que aparezcan en medio, suelen indicar que se usó algo que
no era evidente, y muchas veces se tiende a no tocar esas partes del
código para que no se rompa nada. Eso puede hacer que tu código, en una
hipotética refactorización, no se mejore por miedo a que deje de
funcionar.

En cuanto al peligro, cada eval es un potencial peligro, depende de
dónde venga la información que vas a evaluar. Si esa información viene
de un usuario final, te puede colar código ruby.

saludos,

javier ramírez

On Apr 29, 2008, at 17:48 , Diego G. wrote:

Buenas, estoy intentando hacer un pequeño programa y se me plantea el
siguiente problema:

ab=“Texto de prueba”
c=“a”
d=“b”
puts c+d

Normalmente esto es signo de que necesitas un hash en lugar de
variables.

Vale, muchas gracias por la calidad y la velocidad de la explicación!

saludos

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs