В этом примере показано, как вывести имя поля структуры во время выполнения от переменной или выражения. Общий синтаксис
structName.(dynamicExpression)
где dynamicExpression
переменная или выражение, которое, когда оценено, возвращает вектор символов или, запускающийся в R2017b, строковом скаляре. Имена полей, на которые вы ссылаетесь с выражениями, называются dynamic fieldnames или иногда динамическими именами полей.
Например, создайте имя поля из текущей даты:
currentDate = datestr(now,'mmmdd');
myStruct.(currentDate) = [1,2,3]
Если текущая дата, о которой сообщает ваша система, 29 февраля, то этот код присваивает данные полю под названием Feb29
:
myStruct = Feb29: [1 2 3]
Динамическое имя поля может возвратить или вектор символов или строковый скаляр. Например, можно задать поле Feb29
использование или одного или, запуск в двойных кавычках R2017b.
myStruct.('Feb29')
ans = 1 2 3
myStruct.("Feb29")
ans = 1 2 3
Имена полей, как имена переменных, должны начаться с буквы, могут содержать буквы, цифры или символы подчеркивания, и являются чувствительными к регистру. Чтобы избежать потенциальных конфликтов, не используйте имена существующих переменных или функций как имена полей.
fieldnames
| getfield
| setfield
| struct