El signo más +
se usa para la suma y para la concatenación de cadenas, pero su compañero: el signo menos -
, generalmente no se ve para el recorte de cadenas o algún otro caso que no sea la resta. ¿Cuál podría ser la razón o las limitaciones para eso?
Considere el siguiente ejemplo en JavaScript:
var a = "abcdefg";
var b = "efg";
a-b == NaN
// but
a+b == "abcdefgefg"
+
operador binario esté sobrecargado con los dos significados totalmente independientes "suma numérica" y "concatenación de cadenas". Afortunadamente, algunos idiomas proporcionan un operador de concatenación separado como .
(Perl5, PHP), ~
(Perl6), &
(VB), ++
(Haskell), ...
->
(piense en desreferenciar el acceso de miembros en C, ya que las llamadas a métodos virtuales necesariamente implican una indirección similar a un puntero). No existe una ley de diseño de lenguaje que requiera llamadas a métodos / acceso de miembros para usar un .
operador, aunque es una convención cada vez más común. ¿Sabía que Smalltalk no tiene operador de llamada a método? La yuxtaposición simple object method
es suficiente.