Main Content

Generar nombres de campo desde variables

En este ejemplo se muestra cómo derivar un nombre de campo de estructura en tiempo de ejecución desde una variable o expresión. La sintaxis general es

structName.(dynamicExpression)

donde dynamicExpression es una variable o expresión que, al ser evaluada, devuelve un escalar de cadena. Los nombres de campo a los que se hace referencia con expresiones se llaman fieldnames dinámicos o, en ocasiones, nombres de campo dinámicos.

Por ejemplo, cree un nombre de campo a partir de la fecha actual:

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

Si la fecha actual del sistema es el 29 de febrero, este código asigna los datos a un campo llamado Feb29:

myStruct = 
    Feb29: [1 2 3]

El nombre de campo dinámico puede devolver un vector de caracteres o un escalar de cadena. Por ejemplo, puede especificar el campo Feb29 utilizando comillas simples o dobles.

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

Los nombres de campo, como los nombres de variables, deben empezar por una letra, pueden contener letras, dígitos o guiones bajos y distinguen entre mayúsculas y minúsculas. Los nombres de campo no pueden contener puntos. Para evitar posibles conflictos, no utilice los nombres de variables o funciones existentes como nombres de campo.

Consulte también

| | |

Temas relacionados