Contenuto principale

Generazione dei nomi dei campi dalle variabili

Determinare dinamicamente il nome di un campo di una struttura in fase di runtime da una variabile o da un'espressione. La sintassi generale è

structName.(dynamicExpression)

dove dynamicExpression è una variabile o un'espressione che, quando valutata, restituisce uno scalare di stringa. I nomi dei campi a cui si fa riferimento con espressioni sono chiamati dynamic fieldnames (nomidicampo dinamici) o, talvolta, dynamic field names (nomi di campo dinamici).

Ad esempio, creare un nome di campo dalla data attuale:

currentDate = datestr(now,'mmmdd');
myStruct.(currentDate) = [1,2,3]

Se la data attuale riportata dal sistema è il 29 febbraio, questo codice assegna i dati a un campo denominato Feb29:

myStruct = 
    Feb29: [1 2 3]

Il nome del campo dinamico può restituire un vettore di caratteri o uno scalare di stringa. Ad esempio, è possibile specificare il campo Feb29 utilizzando le virgolette singole o doppie.

myStruct.('Feb29')
ans =
     1     2     3
myStruct.("Feb29")
ans =
     1     2     3

I nomi dei campi, come i nomi delle variabili, devono iniziare con una lettera, possono contenere lettere, cifre o trattini bassi e differenziano tra maiuscole e minuscole. I nomi dei campi non possono contenere punti. Per evitare potenziali conflitti, non utilizzare i nomi di variabili o funzioni esistenti come nomi di campo.

Vedi anche

| | |

Argomenti