Qualcuno può spiegarmi la differenza tra la "procedura" e la "funzione" Ada?Funzione Ada vs Procedura
risposta
Il linguaggio Ada non è molto diverso rispetto ad altri linguaggi simili a quelli di tipo C. Tuttavia, la sintassi può sembrare molto strana e sopraffatta da affermazioni diverse, ma questo è principalmente a causa di un sistema di tipizzazione statico molto ricco e di funzionalità fornite direttamente dalla lingua (come le attività per esempio), che altre lingue forniscono come librerie secondarie.
A differenza della maggior parte dei linguaggi di tipo C, Ada distingue le routine procedurali e funzionali. In questo senso la funzione è molto simile a una funzione matematica che accetta argomenti (o nessuno) e restituisce un valore, e quindi viene utilizzato nelle espressioni. Le procedure non restituiscono alcun valore e non possono essere utilizzate nelle espressioni. Il linguaggio Pascal mantiene la stessa distinzione tra funzioni e procedure. Le lingue simili a C hanno scelto di avere solo funzioni che possono essere utilizzate al di fuori delle espressioni (il valore restituito viene ignorato in questo caso) o restituiscono un valore void per agire come una procedura.
Le procedure Ada possono modificare variabili (cambia stato)? – MNRC
Questa è una domanda elementare a cui è possibile rispondere con qualsiasi riferimento Ada. –
@KeithThompson: Grazie per la risposta. Sfortunatamente, ho 24 ore per fare qualsiasi cosa :). –
Bene, la funzione restituisce un valore e la procedura no. La lingua Pascal, per esempio, ha lo stesso. Le lingue simili a C hanno solo funzioni, che possono fingere di essere procedure restituendo un valore vuoto. BTW, 24 ore è abbastanza per apprendere quel tipo di cose :) – Archie