Il segno più +
viene usato per l'aggiunta e per la concatenazione di stringhe, ma il suo compagno: il segno meno -
, generalmente non viene visto per il taglio di stringhe o altri casi diversi dalla sottrazione. Quale potrebbe essere la ragione o le limitazioni per questo?
Considera il seguente esempio in JavaScript:
var a = "abcdefg";
var b = "efg";
a-b == NaN
// but
a+b == "abcdefgefg"
+
operatore binario sia sovraccarico di due significati totalmente non correlati "aggiunta numerica" e "concatenazione di stringhe". Per fortuna, alcune lingue forniscono un operatore di concatenazione separato come .
(Perl5, PHP), ~
(Perl6), &
(VB), ++
(Haskell), ...
->
(pensa a dereferenziare l'accesso dei membri in C, poiché le chiamate al metodo virtuale implicano necessariamente un riferimento indiretto simile a un puntatore). Non esiste una legge di progettazione del linguaggio che richieda chiamate di metodo / accesso dei membri per utilizzare un .
operatore, sebbene sia una convenzione sempre più comune. Sapevi che Smalltalk non ha un operatore di chiamata del metodo? La giustapposizione semplice object method
è sufficiente.