RSS
 

Jolie – Lezione 3 – Lavorare con dati semplici

26 Oct

^topTipi di dato base
JOLIE supporta quattro tipi di dato base e sono:
int: integers;
double: double-precision floats;
string: strings;
byte arrays.

I Byte arrays, al contrario degli altri 3 tipi di dato base, non possono essere creati direttametne dal programmatore, ma sono supportati in caso il servizio ne ritorni uno e questo debba essere passato al servizio.

^topVariabili ed espressioni
Le variabili non devono essere dichiarate. Il loro tipo può anche cambiare nel corso del tempo:
a = 5;
a = “Hello”
JOLIE supporta alcuni operatori base come: somma, diffetenza, moltiplicazione, divisione e modulo. Il loro comportamento è quello classico degli altri linguaggi di programmazione. Come succede in molti altri linguaggi, si possono anche pre/postincrementare e pre/postdecrementare le variabili:
a = 1;
b = 4;

n = a + b/2; // n = 3
n++; // n = 4
n = ++a + (b++)/2 // n = 4
^topStringhe e Concatenazione di Stringhe
Le stringhe possono essere inserite racchiudendole tra doppi apici.
s = “Questa è una stringa\n”

Le Stringhe si possono anche concatenare usando l’operatore ‘+’:
s = “Questa è ” + “una stringa\n”

La formattazione è preservata, quindi potete formattare le stringhe iserendo dei tabs e degli ‘a capo’:
s = ”
JOLIE conserva formattazione.
Questa linea sarà indentata.
Anche questa linea.

^topCasting e Checking del tipo
Le variabili possono essere convertite con il cast in altri tipi di base in questo modo:
s = “10″;
n = 5 + int(s); // n = 15

d = “1.3″;
n = double(d); // n = 1.3
n = int(n) // n = 1

In oltre si può controllare il tipo di variabe runtime:
s = “10″;
n = is_string(s); // n = 1
n = is_int(s) // n = 0

^topVariabili non definite
Una variabile è indefinita fino a quasno non le viene assegnato un valore. Si può verificare se una variabile è indefinita usando lo statemente is_defined:
a = 1;
if (is_defined(a)) {
println@Console(“a e’ definita”)()
}
Spesso è utile avere una variabile non definita, ad esempio per rimuovere il suo valore e renderlo nuovamente non definito. Si può fare anceh con lo statement undef:
a = 1;
undef(a);
if (is_defined(a)) {
println@Console(“a e’ definito”)()
} else {
println@Console(“a non e’ definito”)()
}

^topVettori
I Vettori (o array) sono accessibili attraverso le parentesi quadre [] come in molti altri linguaggi:
a[0] = 0;
a[1] = 5;
a[2] = “Hello”;
a[3] = 2.5

Ogni variabile è un vettore
La creazione di vettori in JOLIE, fa si che tutto sia un vettore anche quando non è dichiarato in modo esplicito perchè:
ogni variabile JOLIE è un vettore

Non ci si deve preoccupare di nulla nel caso non si abbia bisogno di vettori, perchè Jolie nasconde tutto il meccanismo al programmatore quando non ha bisogno di lavorare con un vettore. Sicuramente, quando non viene specificato l’indirizzo del vettore, è 0 (zero) di default:
a = 1; // JOLIE interprets this as a[0] = 1
println@Console(a[0])() // Will print 1

Dimensione dei vettori
Si può ottenere la dimensione di un vettore con l’operatore # (che indica la sua cardinalità come gli insiemi dei vettori:
a[0] = 0;
a[1] = 1;
a[2] = 2;
a[3] = 3;
println@Console(#a)() // Will print 4

Vettori non definiti
Si può applicare lo statement undef ad un vettore specificando l’indice del vettore che si vuole eliminare. D’altra parte, lo statement undef può essere applicato ad un singolo elemento del vettore: JOLIE ridimensionerà automaticamente il vettore:
a[0] = 0;
a[1] = 1;
a[2] = 2;
a[3] = 3;
undef(a[2])

/*
Now we have:
a[0] == 0
a[1] == 1
a[2] == 3
*/

Condividi questo post sui tuoi social network preferiti:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Twitter
  • Wikio IT
  • Live
  • RSS
  • StumbleUpon
  • Technorati
 
View Comments

Posted in tutto

 
blog comments powered by Disqus