Das Pluszeichen +
wird zur Addition und zur Verkettung von Zeichenfolgen verwendet, aber sein Begleiter: Das Minuszeichen -
wird im Allgemeinen nicht zum Trimmen von Zeichenfolgen oder in einem anderen Fall als der Subtraktion verwendet. Was könnte der Grund oder die Einschränkungen dafür sein?
Betrachten Sie das folgende Beispiel in JavaScript:
var a = "abcdefg";
var b = "efg";
a-b == NaN
// but
a+b == "abcdefgefg"
+
mit den beiden völlig unabhängigen Bedeutungen „numerische Addition“ und „String-Verkettung“ überladen ist. Zum Glück bieten einige Sprachen einen separaten Verkettungsoperator wie .
(Perl5, PHP), ~
(Perl6), &
(VB), ++
(Haskell), ...
->
(denken Sie, dass der Zugriff von Mitgliedern in C dereferenziert wird, da virtuelle Methodenaufrufe notwendigerweise eine zeigerartige Indirektion beinhalten). Es gibt kein Gesetz des Sprachdesigns, das Methodenaufrufe / Mitgliederzugriff erfordert, um einen .
Operator zu verwenden, obwohl dies eine zunehmend verbreitete Konvention ist. Wussten Sie, dass Smalltalk keinen Methodenaufrufoperator hat? Ein einfaches Nebeneinander object method
reicht aus.