Grazie ai blocchi di MIT App Inventor è possibile gestire delle liste di elementi, si tratta, per chi sa di programazione, di uno strumento analogo alle array.
In parole semplici, una lista è un insieme di elementi contraddistinti da un indice numerico che li identifica all’interno della lista stessa. Il primo elemento ha indice 1 (diversamente da molti linguaggi di programmazione dove il conteggio parte da 0). Si noti che una lista può contenere, al suo interno anche altre liste.
I blocchi resi disponibili da MIT App Inventor per la gestione delle liste sono paecchi, vediamo i più importanti.
Creare una lista, aggiungere e rimuovere elementi
Per creare una lista si utilizza il blocco create empty list il quale, come lascia intendere il nome, crea una lista vuota (cioè priva di elementi).
Se si desidera creare una lista e specificare subito degli elementi si utilizzerà il blocco make a list. Cliccando sul pulsante bluè possibile espandere il blocco e prevedere spazi per maggiori elementi.
Una volta creata la lista sarà possibile aggiungere nuovi elementi attraverso il blocco add items to list. A questo blocco deve essere associata una lista e poi devono essere specificati il o gli elemento che si desidera aggiungere. Anche questo blocco, come il precedente. è un mutator e quindi può essere espanso.
Con questo blocco i nuovi elementi vengono aggiunti in fondo alla lista.
Se si desidera inserire un nuovo elemento in una posizione specifica della lista si userà, invece, insert list item il quale consente di specificare la posizione (indice) al quale inserire l’elemento.
Se, invece, si vuole eliminare un elemento si farà ricorso al blocco remove list item: sarà sufficiente specificare l’indice dell’elemento che si desidera rimuovere dalla lista per ottenere quanto voluto.
Ma se invece di rimuovere l’elemento desiderassimo, semplicemente, sostituirlo? A tal fine ci soccorre il blocco replace list item. Per effettuare la sostituzione non dovremo fare altro che indicare l’indice dell’elemento da sostituire ed il nuovo valore da inserire quale elemento con l’indice specificato.
Selezionare elementi della lista
Vediamo ora come selezionare un elemento della lista. Per farlo si utilizza il blocco select list item associando a questo, oltre alla lista, l’indice dell’elemento che si desidera selezionare.
E’ anche possibile selezionare un elemento casuale all’interno della lista utilizzando pick a random item.
Verificare se è una lista, se è vuota e quanti elementi contiene
Tre blocchi molto utilizzati sono:
- is a list? – verifica se un dato elemento è o non è una lista;
- is list empty? – verifica se una data lista è o non è vuota;
- length of list – conteggia il numero di elementi presenti nella lista (restituisce 0 se la lista è vuota);
Verificare se una lista contiene un dato elemento
Può capitare spesso, in sede di svilupo di una qualsivoglia applicazione, di avere la necessità di verificare se una data lista contiene o meno un dato elemento. Per farlo si ricorre al blocco is in list?.
A questo blocco deve essere passato come thing l’elemento di cui si desidera verificare la presenza nella lista specificata in list.
Conoscere l’indice di un elemento nella ista
Quando si gestisce dinamicamente una lista non è sempre possibile conoscere a priori l’indice di un dato elemento al suo interno. Per risalire a questo valore numerico è possibile ricorrere al blocco index in list.
A questo blocco deve essere passato come thing l’elemento di cui si desidera conoscere l’indice all’interno della lista specificata in list. Se le’emento non viene trovato restituisce 0.