| Home / Indice sezione | www.icosaedro.it | ![]() |
|
| |||
| Frontespizio Introduzione Caratteristiche Un semplice esempio Moduli Sezione IMPORT Sezione CONST Sezione TYPE Tipo FORWARD Sezione VAR Sezione FUNCTION Sezione BEGIN Stringhe letterali Sottostringhe Commenti Costanti predefinite Variabili predefinite Funzioni predefinite Istruzione di assegnamento Istruzione per la chiamata di funzione Ordine di valutazione degli argomenti attuali Istruzione IF Istruzione SWITCH Istruzione FOR Istruzione WHILE Istruzione REPEAT Istruzione LOOP Istruzione TRY Istruzione RAISE ERROR Istruzione RETURN Espressioni logiche Espressioni intere Espressioni reali Espressioni stringa Espressioni tra tipi strutturati Regole di scope M2 per programmatori C M2 per programmatori Java Rappresentazione dei dati in memoria Keywords Messaggi di errore a runtime Sintassi | Espressioni tra tipi strutturatiLe espressioni di tipo ARRAY (RECORD) sono costituite dal valore NIL, oppure da una variabile di tipo ARRAY (RECORD) o da una funzione che ritorna ARRAY (RECORD) o da un costruttore di ARRAY (RECORD). Non sono previsti operatori di calcolo tra questi tipi di dati. Prossimo elemento in array. La forma array[count(array)] è così comune che M2 permette di omettere l'indice. In questo modo array[] è il prossimo elemento disponibile dell'array. Ovviamente si tratta di un "valore sinistro" adatto solo per gli assegnamenti e come argomento formalei VAR di funzione. Costruttore di ARRAY. Il modo diretto per assegnare i valori agli elementi di un ARRAY è una sequenza di assegnamenti come questa: VAR a: ARRAY OF INTEGER ... a[0] = 4 a[1] = 7 a[2] = 9 Il costruttore di ARRAY permette di scrivere tra parentesi graffe l'elenco degli elementi dell'array. Ogni elemento dell'array deve essere una espressione di tipo corrispondente al tipo degli elementi dell'array. Il costruttore produce un nuovo array che può essere assegnato o passato come argomento attuale di funzione:
Questa istruzione di assegnamento produce lo stesso array dell'esempio precedente. Notare che il costruttore di array produce un nuovo array, e quindi l'assegnamento comporta la cancellazione di tutti i valori precedenti. Il costruttore di array può essere conveniente per passare un elenco di parametri a una funzione. La funzione PrintList stampa un elenco di stringhe separate dal separatore indicato:
Il costruttore di array vuoto
Costruttore di RECORD. Permette di creare un valore di tipo RECORD specificando i valori dei suoi campi. Un elenco di assegnamenti come questo: può essere riscritto convenientemente sfruttando il costruttore di record:VAR punto: RECORD x, y: REAL END ... punto[x] = R*cos(angolo) punto[y] = R*sin(angolo)
E' necessario specificare sempre l'elenco completo dei campi. L'ordine e il tipo dei campi deve corrispondere al tipo del record da creare. Il costruttore di array e il costruttore di record si possono combinare:
| |||
| ||||
| Umberto Salsi | Contatto | Mappa | Home / Indice sezione |