Генерация имен полей от переменных

Этот пример показывает, как вывести имя поля структуры во время выполнения от переменной или выражения. Общий синтаксис

structName.(dynamicExpression)

где dynamicExpression является переменной или выражением, которое, когда оценено, возвращает вектор символа или, запускающийся в R2017b, скаляре строки. Имена полей, на которые вы ссылаетесь с выражениями, называются динамическими именами полей.

Например, создайте имя поля из текущей даты:

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

Имена полей, как имена переменных, должны начаться с буквы, могут содержать буквы, цифры или символы подчеркивания, и являются чувствительными к регистру. Чтобы избежать потенциальных конфликтов, не используйте имена существующих переменных или функций как имена полей. Для получения дополнительной информации смотрите Имена переменных.

Была ли эта тема полезной?