创建枚举值向量
Create a vector of enumeration values
我有一个枚举class。我想列出一些枚举,例如,
myEnumList = [MyEnum.Hearts; MyEnum.Diamonds];
我收到错误,
Error using vertcat
Dimensions of arrays being concatenated are not consistent.
我也尝试过将其设为元胞数组并得到相同的错误消息。不可能有一个枚举向量吗?
明确一点,我知道您可以获得枚举的所有成员的列表class,但这不是我想要的。
更新
我的枚举
classdef MyEnum
enumeration
None
Default
Hearts
Diamonds
Spades
Clubs
end
end
以MATLAB's example为例进行枚举:
classdef WeekDays
enumeration
Monday, Tuesday, Wednesday, Thursday, Friday
end
end
通常可以做到:
>> [WeekDays.Tuesday; WeekDays.Monday]
ans =
2×1 WeekDays enumeration array
Tuesday
Monday
>> {WeekDays.Tuesday; WeekDays.Monday}
ans =
2×1 cell array
{[Tuesday]}
{[Monday ]}
所以如果它对你的 class 不起作用,我可以想到几种解释:
- 您的 class 或您继承自的某些 class 覆盖了一个连接函数,这使得无法执行此特定操作。
- 枚举成员不对应于标量,或者不对应于一致大小的 objects/arrays(不过对于单元格来说应该不是问题)。
我有一个枚举class。我想列出一些枚举,例如,
myEnumList = [MyEnum.Hearts; MyEnum.Diamonds];
我收到错误,
Error using vertcat Dimensions of arrays being concatenated are not consistent.
我也尝试过将其设为元胞数组并得到相同的错误消息。不可能有一个枚举向量吗?
明确一点,我知道您可以获得枚举的所有成员的列表class,但这不是我想要的。
更新
我的枚举
classdef MyEnum
enumeration
None
Default
Hearts
Diamonds
Spades
Clubs
end
end
以MATLAB's example为例进行枚举:
classdef WeekDays
enumeration
Monday, Tuesday, Wednesday, Thursday, Friday
end
end
通常可以做到:
>> [WeekDays.Tuesday; WeekDays.Monday]
ans =
2×1 WeekDays enumeration array
Tuesday
Monday
>> {WeekDays.Tuesday; WeekDays.Monday}
ans =
2×1 cell array
{[Tuesday]}
{[Monday ]}
所以如果它对你的 class 不起作用,我可以想到几种解释:
- 您的 class 或您继承自的某些 class 覆盖了一个连接函数,这使得无法执行此特定操作。
- 枚举成员不对应于标量,或者不对应于一致大小的 objects/arrays(不过对于单元格来说应该不是问题)。