Symbol (datalogi)

Nogle programmeringssprog har deres egen symbol datatype , som normalt har betydningen af en flag (en type identifier ). Dog kan "symbolet eller " ikke tildeles, men "det er tilgængeligt eller ikke tilgængeligt". Et symbol er tæt knyttet til identifikatoren , men er ikke en variabel, fordi et symbol ikke kan have en værdi. Undertiden er navnet på symbolet i betydningen af ​​en tegnstreng også vigtigt. truefalse

De to typer brug "flag" og "streng" bruges f.eks. B. understøttet af Common Lisp og Scheme . Symboler svarer til indtastningerne af de opregnede typer . På nogle sprog kan et symbol også tildeles en værdi.

Eksempler

Datatype (ordning)

På mange funktionelle sprog som f.eks B. Common Lisp eller Scheme, "Symbol" er direkte en datatype:

(define l_colour
        (list 'red 'green 'blue 'cyan 'magenta 'yellow 'white 'black 'gray 'brown)
)
(equals? 'red (car l_colour))
-> #true
(symbol->string (cdar l_colour))
-> green

Her er red, green, blueog så videre symboler på listen l_colourer tilføjet.

Den sidste sætning tager det andet element på listen og konverterer det til en streng; returværdien er derefter green.

JavaScript

Symboler er beregnet til at blive brugt som nøgleværdier for Mapog Objectelementer i JavaScript . Et symbol er altid unikt, dvs. H.

let a = Symbol('x');
let b = Symbol('x');

aer ulige b . Dette kan ændres eksplicit ved

let a = Symbol.for('x');
let b = Symbol.for('x');

anvendes; gælder nu a === b.

C forbehandling

Den C Præprocessoren også kender symboler:

// Ein Symbol anlegen:
#define mySymbol
// Wenn das Symbol gesetzt ist, dann ...
#ifdef mySymbol
  // ...
#endif

Se også

Noter og individuelle referencer

  1. I JavaScript er der 'Symbol' som en separat datatype fra version 2.0; Kilde: Herbert Braun: JavaScript vokser op. Innovationerne i ECMAScript 6. I: C't . Heise Zeitschriften Verlag GmbH & Co KG , 23. december 2014, s. 168ff , adgang til den 5. januar 2015 .