Main Content

基于变量生成字段名称

此示例演示了如何在运行时从变量或表达式获取结构体字段名称。一般语法为

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

字段名称与变量名称一样,都必须以字母开头,可以包含字母、数字或下划线字符,并且区分大小写。字段名称不能包含句点。为了避免可能的冲突,请勿使用现有变量或函数的名称作为字段名称。

另请参阅

| | |

相关主题