exponenta event banner

Создание имен полей на основе переменных

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

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

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

См. также

| | |

Связанные темы