Costanti

Le costanti sono voci di dati letterali scritte in un programma ULP. In base ai diversi tipi di dati, esistono anche diversi tipi di costanti:

Costanti del carattere

Una costante del carattere è costituita da un singolo carattere o da una sequenza di escape racchiusa tra virgolette singole, come

'a'
'='
'\n'

Il tipo di costante di un carattere è char.

Costanti intere

A seconda del primo carattere (ed eventualmente del secondo), si presuppone che una costante intera sia espressa in valori di base diversi:

primo secondo costante interpretata come
0 1-7 Ottale (base 8)
0 x,X Esadecimale (base 16)
1-9 Decimale (base 10)

Il tipo di una costante intera è int.

Esempi:

16 Decimale
020 Ottale
0x10 Esadecimale

Costanti reali

Una costante reale segue la serie generale

[-]int.frac[e|E[±]exp]

Che significa

È possibile omettere il numero intero decimale o la frazione decimale (ma non entrambi). È possibile omettere il punto decimale o la lettera e o E e l'esponente intero con segno (ma non entrambi).

Il tipo di costante reale è real.

Esempi:

Costante Valore
23.45e6 23,45 x 10^6
0 0.0
0. 0.0
1. 1,0
-1,23 -1,23
2e-5 2,0 x 10^-5
3E+10 3,0 x 10^10
.09E34 0,09 x 10^34

Costanti della stringa

Una costante della stringa è costituita da una sequenza di caratteri o sequenze di escape racchiuse tra virgolette doppie, ad esempio

"Hello world\n"

Il tipo di costante della stringa è string.

Le costanti della stringa possono avere qualsiasi lunghezza (se è disponibile una quantità di memoria libera sufficiente). Le costanti della stringa possono essere concatenate semplicemente scrivendole l'una accanto all'altra per formare stringhe più grandi:

string s = "Hello" " world\n";

È inoltre possibile estendere una costante della stringa su più righe, evitando il carattere di nuova riga con una barra rovesciata (\):

string s = "Hello \
world\n";

Sequenze di escape

Una sequenza di escape è costituita da una barra rovesciata (\), seguita da uno o più caratteri speciali:

Sequenza Valore
\a Campanello acustico
\b Backspace
\f Maschera avanzamento
\n Nuova linea
\r Ritorno a capo
\t Scheda orizzontale
\v Scheda verticale
\\ barra rovesciata
\' Virgolette singole
\" Virgolette doppie
\O O = fino a 3 cifre ottali
\xH H = fino a 2 cifre esadecimali

Qualsiasi carattere che segue la barra rovesciata iniziale non indicata in questo elenco verrà considerato come tale carattere (senza la barra rovesciata).

Le sequenze di escape possono essere utilizzate in costanti di caratteri e stringhe.

Esempi:

'\n'
"A tab\tinside a text\n"
"Ring the bell\a\n"