Una delle caratteristiche più interessanti di MIT App Inventor è la possibilità, offerta agli utilizzatori, di espandere il linguaggio mediante la definizione di nuovi blocchi (funzionalità) che prendono il nome di procedure.
Una procedura non è altro che un insieme di blocchi nativi che raggruppati godono di una certa autonomia ed assolvono ad una funzione specifica ed, in un certo senso, astraibile dal contesto generale. In pratica, attraverso la definizione di procedure, si assolve ad una buona prassi di programmazione attuando quel riuso del codice che è sintomo di ordine ed efficienza (viene eliminata la ridondanza nel codice) di ogni buona applicazione.
Una volta definita la procedura questa potrà essere richiamata all’interno dell’applicazione passando eventuali argomenti ed ottenendo in risposta l’elaborazione attesa.
Un esempio di procedura potrebbe essere data dal calcolo dell’IVA su un dato prezzo: si passando come argomenti un prezzo e l’aliquota da applicare e, mediante l’utilizzo di alcuni Math Blocks si calcola e poi restituisce il valore del prezzo ivato.
In MIT App Inventor si distinguono due tipi di procedure:
- procedura semplice
- procedura con valore di ritorno
Creare una procedura
La definizione di una nuova procedura avviene in modo simile a come viene definita una variabile utilizzando il blocco procedure do oppure procedure result a seconda che si desideri o meno un valore di ritorno.
La fase di elaborazione è gestita, invece, all’interno di do dove, in pratica, andremo ad aggiungere tutti i blocchi necessari al compito che ci siamo prefissati. Se abbiamo scelto di utilizzare il blocco procedure result la fase di elaborazione sarà gestita all’interno di result.
Definire gli argomenti della procedura
Per definire eventuali argomenti per la nostra procedura dovremo utilizzare il pulsante blu mutator posizionato in alto a sinistra del nostro blocco.
Ad ogni argomento deve essere assegnato un nome univoco il quale sarà poi disponibile all’interno della procedura stessa.
Di seguito un immagine animata (tratta dalla documentazione ufficiale del MIT) mostra come aggiungere argomenti ad una procedura:
Per fare un esempio vediamo una semplice procedura, che abbiamo chiamato add, che esegue la somma dei due numeri passati in argomento:
Richiamare una procedura
Una volta creata la procedura potrà essere richiamata in ogni punto della nostra app mediante call seguito dal nome della procedura e dall’indicazione degli eventuali argomenti richiesti.
Come potete notale il call di una procedura con valore di ritorno può essere "pluggato" ad altri blocchi cui verrà passato, appunto, tale valore.
Nota: è bene ricordare, infine, che ogni procedura deve avere un nome univoco. Una volta assegnato un nome alla procedura (cliccando sul nome di default) saraà possibile cambiarlo anche successivamente; in tal caso App Inventor si preoccuperà di aggiornare automaticamente tutti i richiami a quest’ultima aggiornandoli col nuovo nome ad essa assegnato.