BLOCCHI INCORPORATI VARIABILI (Variables blocks)

Una variabile è un’allocazione di memoria che permette al codice di essere molto più flessibile e più facile da leggere. Al contrario di altri linguaggi di programmazione tipizzati, in App Inventor 2, Kodular e Thunkable X non si dichiara il tipo di variabile se non GLOBALE o LOCALE.

La Portata della variabile (Variable Scope) è la parte del programma in cui una variabile è accessibile e può essere utilizzata. Infatti la variabile è globale quando esiste in tutta l’App, ad esempio anche tra schermate diverse. Locale solo quando esiste in una porzione di codice.

Una variabile globale è una variabile a cui è possibile accedere in più ambiti. Ciò significa che ovunque ti trovi nel programma puoi:

  • usare quella variabile;
  • ottenere il suo valore corrente o
  • impostarne il valore su qualcos’altro.

Le variabili globali vengono create utilizzando il blocco initialize global to che si trova nel cassetto Variabili.

Una variabile locale è una variabile dichiarata all’interno di una funzione o è un argomento passato a una funzione. Ciò significa che è possibile accedere a queste variabili solo in quella funzione specifica in cui vengono dichiarate o passate come argomento.

Le variabili locali vengono create quando:

Perché dovrei mai aver bisogno di usare variabili locali?

A volte potrebbe essere necessario creare una nuova variabile all’interno di una procedura e desiderare che solo quella procedura sia in grado di utilizzarla.

In questo esempio, usiamo una variabile locale height (altezza), per memorizzare l’altezza del triangolo la cui ipotenusa e base ci sono date come argomenti. Potremmo avere una procedura diversa che utilizza l’altezza come argomento, quindi non saremmo in grado di utilizzare una variabile globale. Per assicurarci di ciò, utilizziamo le variabili locali in modo che l’altezza nel contesto corretto sia disponibile solo nella procedura in cui viene utilizzata.

A volte potrebbe essere più semplice avere variabili locali piuttosto che crearne molte nuove globali. Oppure potrebbe consentirci di utilizzare meno blocchi.

Contenuti:

Thunkable

App Inventor 2 Kodular ThunkableX
Fig.: Le tre liste dei componenti

initialize global name to

Questo blocco viene utilizzato per creare variabili globali. Accetta qualsiasi tipo di valore come argomento. Cliccando sul nome cambierà il nome di questa variabile globale. Le variabili globali vengono utilizzate in tutte le procedure o eventi, quindi questo blocco sarà autonomo. Le variabili globali possono essere modificate mentre un’app è in esecuzione e possono essere consultate e modificate da qualsiasi parte dell’app anche all’interno di procedure e gestori di eventi. È possibile rinominare questo blocco in qualsiasi momento e tutti i blocchi associati che fanno riferimento al vecchio nome verranno aggiornati automaticamente.

get

Questo blocco fornisce un modo per ottenere tutte le variabili che potresti aver creato.

set

Questo blocco segue le stesse regole di get solo che qui viene impostato un valore. Nel menu a discesa saranno disponibili solo le variabili nell’ambito. Una volta selezionata una variabile X , è possibile collegare un blocco per dare a X un nuovo valore.

initialize local name to – in (do)

Questo blocco è un mutatore che consente di creare nuove variabili che vengono utilizzate solo nella procedura eseguita nella parte DO (FARE) del blocco. In questo modo tutte le variabili in questa procedura inizieranno tutte con lo stesso valore ogni volta che viene eseguita la procedura.
NOTA: questo blocco differisce dal blocco descritto di seguito perché è un blocco DO.
È possibile allegare dichiarazioni ad esso. Le dichiarazioni fanno le cose. Questo è il motivo per cui questo blocco ha spazio all’interno per i blocchi di istruzioni da allegare. Puoi rinominare le variabili in questo blocco in qualsiasi momento e tutti i blocchi corrispondenti altrove nel tuo programma che fanno riferimento al vecchio nome verranno aggiornati automaticamente

initialize local name to – in (return)

Questo blocco è un mutatore che consente di creare nuove variabili che vengono utilizzate solo nella procedura eseguita nella parte RITORNO del blocco. In questo modo tutte le variabili in questa procedura inizieranno tutte con lo stesso valore ogni volta che viene eseguita la procedura.
NOTA: questo blocco differisce dal blocco sopra descritto perché è un blocco RETURN. È possibile allegare espressioni ad esso. Le espressioni restituiscono un valore. Ecco perché questo blocco ha una presa (socket) per collegare le espressioni. Puoi rinominare le variabili in questo blocco in qualsiasi momento e tutti i blocchi corrispondenti altrove nel tuo programma che fanno riferimento al vecchio nome, verranno aggiornati automaticamente.
 
Per capire meglio l‘ ambito di visibilità di una variabile (scoping) leggi questo articolo (in inglese) http://appinventor.mit.edu/explore/ai2/support/concepts/variable-scoping-lesson .

THUNKABLE

App, stored, cloud

Quando crei una variabile, puoi scegliere tra una variabile app, archiviata (stored) e cloud.

Tutti i tre tipi di variabili funzionano su tutti gli screen e l’unica differenza è dove sono memorizzate.

1-Variabili dell’app (app)

Una variabile dell’app è memorizzata nell’app stessa. Puoi salvare qualsiasi tipo di dati come variabile dell’app.

2-Variabili memorizzate (stored)

Una variabile memorizzata viene salvata sul dispositivo mobile stesso. Ciò significa che una variabile memorizzata può essere recuperata da una sessione precedente.

È possibile salvare qualsiasi tipo di dati nella variabile memorizzata.

  VARIABILE DELL’APP VARIABILE MEMORIZZATA (stored)
Foto
Inizializzazione Con valore iniziale Senza valore iniziale
Salvata tra le sessioni dell’app? No (quando si riapre l’app, il valore viene dato dall’inizializzazione) Sì (quando si riapre l’app, il valore viene dato dall’ultimo valore)  

3-Variabili della nuvola (cloud)

Una variabile cloud viene salvata nel cloud alimentato da Firebase. Per impostazione predefinita, la variabile cloud viene salvata nel database Firebase predefinito di Thunkable. Ti consigliamo di salvarli nel tuo database Firebase privato collegando un database Firebase privato alla tua app.

Le variabili cloud possono essere utilizzate in modo simile al salvataggio e al recupero di valori in un database in tempo reale alimentato da Firebase e possono essere utilizzate in una serie di applicazioni che condividono i dati tra gli utenti nel cloud. Se utilizzi variabili cloud, non è più necessario aggiungere un database in tempo reale alla tua app.

Puoi salvare solo una parte di testo o un oggetto come variabile cloud.

Per salvare un elenco (LIST) come variabile cloud, utilizzare il blocco “Create text from list” per convertire l’elenco in una parte di testo.

Quando recuperi questo testo dalla tua variabile cloud, puoi convertirlo in un elenco con il blocco “Create list from text” per utilizzarlo come elenco nella tua app.

Per salvare i contenuti multimediali come variabile cloud, utilizza il componente Cloudinary Media DB per caricare l’audio nel cloud e ottenere un URL che punti ad esso. Puoi salvare questo URL come variabile cloud.

Incremento e decremento del valore della Variabile

Variabili denominate dinamicamente

I blocchi precedenti utilizzano nomi di variabili hardcoded, in cui è necessario selezionare una variabile da un elenco di variabili che è stato inizializzato.

È inoltre possibile creare variabili denominate dinamicamente. Ci sono variabili che crei e denomini durante il runtime dell’app, che non hanno un blocco di inizializzazione.

Puoi denominarli digitando un nome o utilizzando altre variabili per denominare le variabili create dinamicamente.

È possibile creare app denominate dinamicamente, variabili stored o cloud.

Aggiornato al 01/03/2023
Aggiornato al 01/01/2021
Aggiornato al 05/07/2023

PDF Lista comparazione dei componenti di AI2 KODULAR THUNKABLEX agg.20210911

Vuoi avere più informazioni sul Coding visuale? Vai alla pagina dei Blocchi incorporati dove potrai imparare a scrivere il linguaggio di programmazione per App Inventor 2, Kodular e Thunkable X. Visita la pagina del Blog con le ultime notizie sulle le tre piattaforme. Nella pagina Documentazione troverai i collegamenti ai forum, il glossario, i link ai siti dei migliori programmatori, i download e tanti altri accessori.