Dichiarare le variabili in Delphi mi ha portato a considerare una cosa che non riesco a capire.Delphi parole e identificatori riservati
La domanda è questa: dichiarando stringhe, si può osservare che string
è una parola riservata, pur dichiarando di altri tipi di dati, dicono gli interi, il tipo di dati di qualificazione non è una parola riservata, ma un identificatore (cioè Integer
, la capitale mi dice così).
Infatti, Delphi ti permette di andare alla definizione di Integer
, che si scopre è contenuto all'interno dell'unità di sistema, ma è solo rappresentativo, perché non v'è un commento che indica che alcune costanti (come True
), identificatori (come Integer
), le funzioni e le procedure sono direttamente integrate nel compilatore.
Non riesco a capire le ragioni di questa scelta.
Qualcuno potrebbe aiutare?
Una piccola spiegazione della differenza tra string
e Integer
tipi. Il codice successivo
type
Integer = Char;
var
I: Integer;
begin
I:= 'A';
ShowMessage(I);
end;
è corretto e funziona come previsto, mentre la successiva linea
type
string = Integer;
dà a tempo di compilazione errore.
Delphi è * non * case-sensitive. –
Sì, lo sapevo. Sebbene Delphi non rilevi la distinzione tra maiuscole e minuscole, è considerata una buona pratica di programmazione capitalizzare secondo la convenzione InfixCaps. Lo so anch'io. –
+1, poiché è una domanda interessante, anche se potrebbe non esserci una risposta "definita". La mia ipotesi personale, tuttavia, è che il tipo 'string' è circondato da tanta magia del compuler che è stato promosso a una 'parola riservata' piuttosto che a 'Ctrl + digitabile su un tipo incorporato' ... –