基于变量生成字段名称
此示例演示了如何在运行时从变量或表达式获取结构体字段名称。一般语法为
structName.(dynamicExpression)
其中 dynamicExpression
是一个变量或表达式,它在求值后返回还可以返回字符串标量。使用表达式引用的字段名称称为动态字段名(有时称为动态字段名称)。
例如,基于当前日期创建一个字段名称:
currentDate = datestr(now,'mmmdd');
myStruct.(currentDate) = [1,2,3]
如果您的系统报告的当前日期为 2 月 29 日,则此代码会将数据分配给名为 Feb29
的字段。
myStruct = Feb29: [1 2 3]
动态字段名称可以返回字符向量或字符串标量。例如,您可以使用单引号或使用双引号指定字段 Feb29
。
myStruct.('Feb29')
ans = 1 2 3
myStruct.("Feb29")
ans = 1 2 3
字段名称与变量名称一样,都必须以字母开头,可以包含字母、数字或下划线字符,并且区分大小写。字段名称不能包含句点。为了避免可能的冲突,请勿使用现有变量或函数的名称作为字段名称。
另请参阅
struct
| fieldnames
| getfield
| setfield