将枚举转换为字符数组非常简单 - 只需调用即可char.
char(myenum.somevalue)
Run Code Online (Sandbox Code Playgroud)
回报'somevalue'.
如何转换回来?我期待着像是char2enum在哪里
char2enum('somevalue', 'myenum')
Run Code Online (Sandbox Code Playgroud)
回报myenum.somevalue.
是否有内置函数或我必须创建自己的函数?
您可以使用 MATLAB Dynamic 引用功能通过字符串名称(而不是符号名称)来访问枚举。例如,给定一个类Weekdays
classdef Weekdays
enumeration
Monday, Tuesday, Wednesday, Thursday, Friday
end
end
Run Code Online (Sandbox Code Playgroud)
Friday您可以通过多种方式访问该类型:
>> Weekdays.Friday % Access symbolically
>> Weekdays.('Friday') % Access as a string
Run Code Online (Sandbox Code Playgroud)
如果您有一个字符串变量,其名称也可以工作:
>> day = 'Friday'
>> Weekdays.(day)
Run Code Online (Sandbox Code Playgroud)
顺便说一句,此功能适用于 MATLAB 类方法、属性和事件以及结构字段。
http://www.mathworks.com/help/matlab/matlab_prog/bsgigzp-1.html#bsgigzp-33
从角色创建枚举也相当简单:只需创建枚举:
out = myenum.somevalue
返回类myenum和值somevalue.
如果您的字符串在变量中,请调用
someVariable = somevalue;
out = myenum.(someVariable)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3344 次 |
| 最近记录: |