stringIniziare con la stringa


Osservazioni

Questa sezione fornisce una panoramica di cosa è la stringa e perché uno sviluppatore potrebbe volerlo utilizzare.

Dovrebbe anche menzionare qualsiasi argomento di grandi dimensioni all'interno della stringa e collegarsi agli argomenti correlati. Poiché la documentazione per la stringa è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.

Versioni

Versione osservazione Data di rilascio
Stringa ASCII 7 bit 1963/06/17
UTF-8 8 bit di default, lunghezza variabile tramite surrogati 1992/09/30
UCS-2 16 bit, come UTF-16 senza surrogati, usato il mio Microsoft Windows NT 1993/07/23
UTF-16 16 bit di default, lunghezza variabile tramite surrogati 1996/07/31

stringhe

Una stringa è una sequenza di caratteri letterali. Ad oggi, le stringhe sono supportate da tutti i linguaggi di programmazione moderni, 1 ma non vi è consenso tra i progettisti di linguaggi su come classificare le stringhe. Per quanto riguarda la progettazione del linguaggio di programmazione, ci sono due principali preoccupazioni da prendere in considerazione.

  1. Una stringa deve essere considerata come un valore primitivo o composito?
  2. Quali operazioni di stringa dovrebbero essere fornite dalla lingua stessa? 2

Rendendo una stringa un valore primitivo, le operazioni di stringa fornite dalla lingua sono tutte incorporate; e non può essere definito nella lingua stessa. Ciò consente alcune ottimizzazioni a livello di compilatore, in particolare per quanto riguarda il layout della memoria e il riutilizzo delle stringhe utilizzando un cosiddetto pool di stringhe. Il compromesso risiede nel non essere in grado di utilizzare il calo delle sostituzioni per le operazioni con le stringhe e tali funzioni dovrebbero essere chiamate utilizzando normali chiamate di funzione, mentre la sintassi per l'utilizzo di operazioni integrate è in genere distintamente diversa. La conseguenza è che se e quando vengono scoperti algoritmi più efficaci non si può semplicemente cambiare quale libreria di stringhe si sta usando. Un esempio forzato è la ricerca di sottostringhe come parte del set di funzionalità di base prima che fosse sviluppato l'algoritmo di ricerca di stringhe Boyer-Moore.

Viceversa, definendo una stringa come un valore composito come una matrice di caratteri, tutte le normali operazioni sugli array diventano automaticamente applicabili alle stringhe. Tuttavia, questo comporta che tutte le stringhe all'interno della lingua siano di lunghezza fissa. 3

In definitiva, un altro approccio rappresenta le stringhe come un elenco di caratteri che, come con gli array, consente alla rappresentazione di ereditare tutte le operazioni di elenco.

1 Salva quelli più esoterici come Piet
2 In genere le lingue offrono confronti tra stringhe, principalmente uguaglianza, concatenazione di stringhe con altre stringhe, sostituzione di singoli caratteri e sottostringhe e ordinamento lessografico di stringhe. 3 Di solito