Lip lab - Riassunti PDF

Title Lip lab - Riassunti
Author Martina Nanu
Course Linguaggi DI Programmazione
Institution Università degli Studi di Cagliari
Pages 2
File Size 42.3 KB
File Type PDF
Total Downloads 9
Total Views 153

Summary

Riassunti...


Description

mercoledì 6 novembre 2019

Ocaml Cose da ricordare!

- Si tratta di un linguaggio fortemente tipato, pertanto non possono svolgere alcun tipo di operazione fra tipi diversi. Non posso controllare se un valore è maggiore di un altro se sono di tipi diversi, e non posso effettuare somme ecc. !

- Nel caso in cui un operatore matematico debba essere utilizzato fra due float deve essere aggiunto un punto a destra dell’operatore. !

- Non vi è alcuna conversione implicita, perché questa non permetterebbe type inference.!

- Una volta definito il nome di un identificatore, esso non cambia. ! - Una dichiarazione locale può temporaneamente nascondere una globale.! - Se si rappresenta una terna, o una lista e si vuole dare coma paremetro in ingresso a una funzione i valori devono essere posti fra parentesi e separati da virgole. !

- Una tagged union consente di creare un nuovo tipo attraverso la word type.! - Le variabili prese in considerazione da una funzione sono quelle dichiarate prima della definizione della funziona stessa. Qualora si faccia una modifica del valore della variabile dopo la dichiarazione della funzione questa, ai fini del calcolo del valore in output della funzione, non ha alcuna rilevanza. La stessa identica cosa vale per le funzioni, se viene creata una funzione che ne sfrutta un altra, e questa seconda viene successivamente riscritta, si farà sempre riferimento a quella definita prima della dichiarazione della funzione che ne fa uso. !

- Funzioni mutuamente ricorsive: per definirsi si richiamano a vicenda. (Es: per definire una una successione A serve richiamare B, viceversa per B.)!

- Funzioni di ordine superiore. Possono prendere una o più funzioni come argomenti, possono restituire una funzione come risultato, altrimenti si tratta di funzioni di prim’ordine. !

Esercizi svolti: ! 1) let a = (7.56 -3) ;; Questa valutazione da come risultato true, in quanto i due operatori sono applicati il primo fra due tipi float, e il secondo fra due tipi interi. Quando poi viene effettuata la AND questa avviene fra due valori

1

mercoledì 6 novembre 2019 booleani true, quindi non si pone il problema della differenza di tipi (visti i tipi dei risultati delle valutazioni delle due espressioni). ! 2) let a = (7.56 -3) in a && true;; Questa espressione restituisce true in quanto le due espressioni valutate danno come risultato true, la AND a questo punto restituisce a sua volta true (in quanto le espressioni restituiscono entrambe true), quindi dopo aver eseguito la seconda AND il risultato è nuovamente true. ! 3) let a = 5;; let a=1ina+2;; let c = a;; Il valore finale di C in questo caso è 5. Nella prima espressione viene assegnato il valore 5 ad A. Nella seconda viene chiesto di restituire il valore di A, a cui viene assegnato 1, incrementato di due, ma nell’ultima espressione si fa riferimento al primo valore assegnato alla variabile A, quindi C = 5.! 4) let g f = 1 + f(1);; con questa scrittura si indica che f, l’argomento della funzione, è a sua volta una funzione, e che di conseguenza g è una funzione di ordine superiore. !

2...


Similar Free PDFs