2.8. Las operaciones sobre cadenas

En general no es posible realizar operaciones matemáticas con cadenas, incluso si las cadenas parecen números. Las siguientes sentencias son ilegales (suponiendo que mensaje sea de tipo string)

   1: mensaje-1 "Hola"/123 mensaje*"Hola" "15"+2


Es curioso que el operador + funcione con cadenas, aunque no haga exactamente lo que usted esperar³a. Para cadenas, el operador + representa la concatenación, lo que significa que se unen los dos operandos uniéndolos extremo con
extremo. Por ejemplo:




   1: fruta = "platano"
   2: bizcochoBueno = " pan de leche"
   3: print fruta + 
   4: bizcochoBueno

La salida del programa es platano pan de leche. El espacio delante de pan es parte de la cadena, y es necesario para introducir el espacio que separa las cadenas concatenadas.


El operador * tambien funciona con cadenas; lleva a cabo la repeticion. Por ejemplo 'Chiste'*3 es 'ChisteChisteChiste'. Uno de los operandos ha de ser una cadena, el otro ha de ser un entero.


Por un lado, esta interpretacion de + y * cobra sentido por analogía con la suma y la multimplicacion. Igual que 4*3 es equivalente a 4+4+4, esperamos que 'Chiste'*3 sea lo mismo que 'Chiste'+'Chiste'+'Chiste', y así es. Por otro lado, la concatenacion y la repeticion son de alguna manera muy diferentes de la adicion y la multiplicacion de enteros.


¿Puede encontrar una propiedad que


¿tienen la suma y la multiplicacion de enteros y que no tengan la concatenación y la repeticion de cadenas?

Comentarios

Entradas populares