Qual è l'etimologia dell'operatore "punto" per la concatenazione di stringhe?

3

Alcune lingue hanno un operatore . per la concatenazione di stringhe. La lingua più antica che ho trovato che supporti è Perl. Perl era il primo ad usarlo? Perché è stato scelto?

    
posta Tyler Holien 28.05.2015 - 22:44
fonte

1 risposta

3

Se vuoi attaccare con un singolo carattere ASCII non-alfanumerico non per gli operatori, non ce ne sono molti. Posso vedere solo un paio di alternative: ! , ~ , # , , e $ . Di questi, solo . e , possono essere raggiunti senza su una tastiera americana, # è il carattere di commento. La comma ha un senso, ma è già usata per uno scopo diverso nei linguaggi C e C, con cui anche molti programmatori Perl sarebbero familiari, e quindi ha lo stesso significato in Perl.

Questo ti lascia solo con il punto. Nota che un punto medio (·) è usato in matematica per indicare la composizione della funzione (e Haskell usa il punto ASCII come un'approssimazione per quello), che può essere in qualche modo correlato alla concatenazione.

Non esiste, infatti, un simbolo operatore standard per la concatenazione in matematica, alcuni suggerimenti sono il doppio più (Haskell usa ++ per la concatenazione) o il cipiglio .

Alcune lingue usano + per la concatenazione, che è una scelta terribile, perché la concatenazione manca di molte delle proprietà che normalmente associamo ad un'operazione di tipo addizione. Ancora più importante, la concatenazione non è cumulativa.

    
risposta data 28.05.2015 - 23:26
fonte

Leggi altre domande sui tag