基于变量生成字段名称
此示例演示了如何在运行时从变量或表达式获取结构体字段名称。一般语法为
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 3myStruct.("Feb29")ans =
1 2 3字段名称与变量名称一样,都必须以字母开头,可以包含字母、数字或下划线字符,并且区分大小写。字段名称不能包含句点。为了避免可能的冲突,请勿使用现有变量或函数的名称作为字段名称。
另请参阅
struct | fieldnames | getfield | setfield