Этот пример показывает, как вывести имя поля структуры во время выполнения от переменной или выражения. Общий синтаксис
structName.(dynamicExpression)
где dynamicExpression
является переменной или выражением, которое, когда оценено, возвращает вектор символов или, запускающийся в R2017b, скаляре строки. Имена полей, на которые вы ссылаетесь с выражениями, называются dynamic field names.
Например, создайте имя поля из текущей даты:
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
Имена полей, как имена переменных, должны начаться с буквы, могут содержать буквы, цифры или символы подчеркивания, и являются чувствительными к регистру. Чтобы избежать потенциальных конфликтов, не используйте имена существующих переменных или функций как имена полей. Для получения дополнительной информации смотрите Имена переменных.