O sinal de mais +
é usado para adição e concatenação de cadeias, mas seu companheiro: o sinal de menos -
, geralmente não é visto para aparar cadeias ou algum outro caso que não seja a subtração. Qual poderia ser o motivo ou as limitações para isso?
Considere o seguinte exemplo em JavaScript:
var a = "abcdefg";
var b = "efg";
a-b == NaN
// but
a+b == "abcdefgefg"
+
operador binário seja sobrecarregado com os dois significados totalmente independentes: "adição numérica" e "concatenação de string". Felizmente, algumas linguagens fornecem um operador de concatenação separado, como .
(Perl5, PHP), ~
(Perl6), &
(VB), ++
(Haskell),…
->
(pense em remover o acesso de membro em C, já que as chamadas de método virtual envolvem necessariamente indireto como ponteiro). Não há lei do design de idiomas que exija chamadas de método / acesso de membro para usar um .
operador, embora seja uma convenção cada vez mais comum. Você sabia que o Smalltalk não tem operador de chamada de método? A justaposição simples object method
é suficiente.