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 3myStruct.("Feb29")ans =
1 2 3Los 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