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
struct
| fieldnames
| getfield
| setfield