Le variabili globali in Scilab

L'ambiente Scilab ti permette di lavorare anche con le variabili globali.

Cos'è una variabile globale? E' una variabile accessibile e modificabile da qualsiasi parte del codice, indipendentemente dalla funzione o dallo script in cui l'hai definita. E' molto utile quando hai bisogno di condividere informazioni e dati tra diverse funzioni senza doverli passare come argomenti.

In Scilab, puoi dichiarare una variabile come globale utilizzando la parola chiave global.

global nomeVariabile

Ecco un esempio pratico di utilizzo.

Definisci la variabile globale "x" tramite la parola global.

global x

Una volta dichiarata, puoi usare la variabile globale in qualsiasi parte del codice, sia all'interno di una funzione che all'esterno.

Per chiarire questo concetto è utile fare un altro esempio.

In questo script la variabile "x" viene definita come variabile globale, mentre la variabile "y" come variabile locale.

  1. x = 1
  2. y = 2
  3. function myFunction()
  4. global x
  5. x=10
  6. y=20
  7. endfunction
  8. myFunction()
  9. disp(msprintf('x= %d', x))
  10. disp(msprintf('y= %d', y))

Lo script assegna alle variabili "x" e "y" rispettivamente i valori 1 e 2.

All'interno della funzione myFunction la varabile "x" è dichiarata come variabile globale. La variabile "y" è, invece, una variabile locale.

Successivamente, sono assegnati alle variabili "x" e "y" i valori 10 e 20.

Dopo aver eseguito la funzione, il programma stampa il contenuto delle due variabili.

x=10
y=2

 

In altre parole, l'assegnazione di y=20 è limitata all'ambito della funzione e non ha effetto al di fuori di essa, mentre l'assegnazione di x=10 ha una portata più ampia e rimane valida anche al di fuori della funzione.

Come si può determinare se una variabile è globale in Scilab?

Per verificare se una variabile è definita come globale in Scilab, puo utilizzare la funzione isglobal().

Questa funzione restituisce un valore vero (T) se la variabile specificata è globale. Viceversa, restituisce un valore falso (F) se non lo è.

 

Ad esempio, digita isglobal('x') per capire se la variabile "x" è globale.

isglobal('x')

Scilab restituisce "T" ossia True (vero) perché la variabile "x" è stata dichiarata come una variabile globale.

ans=T

Se, invece, digiti isglobal('y')

isglobal('y')

Scilab restituisce "F" in quanto la variabile "y" non è una variabile globale.

ans=F

Quando conviene usare le variabili globali?

Le variabili globali offrono un mezzo efficace per condividere informazioni tra diverse sezioni di un programma, facilitando l'accesso ai dati comuni.

Nonostante questi vantaggi, l'uso delle variabili globali rende il codice più intricato e arduo da interpretare, poiché una variabile globale può essere alterata in qualsiasi punto del programma.

Questa libertà può portare a difficoltà nel tracciare le modifiche, rendendo più complessa la gestione del codice.

In generale, ti consiglio di optare per variabili locali quando possibile, perché offrono un controllo maggiore e contribuiscono a mantenere il codice più ordinato e comprensibile.

Qual è la differenza tra le variabili globali e locali? Una variabile globale è una variabile che può essere acceduta da qualsiasi parte del programma, rendendola disponibile attraverso diverse funzioni e moduli. Al contrario, una variabile locale è confinata all'ambito della funzione in cui viene dichiarata, rendendola accessibile e modificabile solo all'interno di quella specifica funzione.

 

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Le variabili su Scilab