- 0 Discussione
-
Le Variabili
Indice |
Introduzione
Modifica
Le variabili, sono dei contenitori di valori, il loro contenuto può variare durante l'esecuzione, ogni variabile è definita con un tipo ed un nome (assegnato da noi).
Dichiarazione e Assegnamento
Modifica
In D le variabili si dichiarano nella stessa maniera dei linguaggi C/C++, C# o Java.
Una variabile si dichiara nel seguente modo...
[tipo_variabile] [nome_variabile];
...e si assegna...
[nome_varabile] = [valore];
...o in un riga sola:
[tipo_variabile] [nome_variabile] = [valore];
Esempio:
//[tipo_variabile] [nome_variabile] int var1; var1 = 100;
//...oppure //[tipo_variabile] [nome_variabile] = [valore] int var2 = 75;
Operazioni Matematiche
Modifica
Le operazioni matematiche si fanno allo stesso modo di C/C++, C# o Java:
int tot = 45 + 10; //Senza variabili int op1 = 10; int op2 = 5; int tot = op1 + op2; //Con due variabili op1 += op2; //Incrementando direttamente op1
Tipi delle variabili
Modifica
Una particolarità del D è che supporta dei tipi nativi aggiuntivi rispetto a quelli che siamo abiutati a vedere nel linguaggio C ad esempio, ha il supporto NATIVO per i numeri complessi:
cdouble complex = 10 + 45i;
Tipi supportati dal D
Modifica
| Tipo | Decrizione | Valore di default |
| void | Nessun tipo | --- |
| bool | Tipo booleano | false |
| byte | Tipo byte con segno (8 bits) | 0 |
| ubyte | Tipo byte senza segno (8 bits) | 0 |
| short | Tipo short con segno (16 bits) | 0 |
| ushort | Tipo short senza segno (16 bits) | 0 |
| int | Tipo int con segno (32 bits) | 0 |
| uint | Tipo int senza segno (32 bits) | 0 |
| long | Tipo long con segno (64 bits) | 0L |
| ulong | Tipo long senza segno (64 bits) | 0L |
| cent | Tipo cent con segno (128 bits) [riservato per usi futuri] | 0 |
| ucent | Tipo cent senza segno (128 bits) [riservato per usi futuri] | 0 |
| float | Tipo float, rappresenta i numeri con un valore decimale dopo la virgola (32 bits) | float.nan |
| double | Tipo double, rappresenta i numeri con molte cifre decimali dopo la virgola (64 bits) | double.nan |
| real | (Da fare) | real.nan |
| ifloat | Tipo float per i numeri immaginari | float.nan * 1.0i |
| idouble | Tipo double per i numeri immaginari | double.nan * 1.0i |
| ireal | Tipo real per i numeri immaginari | real.nan * 1.0i |
| cfloat | Tipo float per i numeri complessi | float.nan + float.nan * 1.0i |
| cdouble | Tipo double per i numeri complessi | double.nan + double.nan * 1.0i |
| creal | Tipo real per i numeri complessi | real.nan + real.nan * 1.0i |
| char | Tipo di 8 bits, senza segno (codifica: UTF-8) | 0xFF |
| wchar | Tipo di 16 bits, senza segno (codifica: UTF-16) | 0xFFFF |
| dchar | Tipo di 32 bits senza segno (codifica: UTF-32) | 0x0000FFFF |
Type Cast
Modifica
I cast si fanno in maniera differente, esiste la parola chiave cast, la sintassi è la seguente:
newVar = cast(type)castVar;
Ecco un esempio:
float flt = 45.6; int i = cast(int)flt;