【发布时间】:2018-04-30 13:17:52
【问题描述】:
是否可以有非标量的枚举成员?
例如,我如何在不使用方法的情况下枚举颜色,使每种颜色都是 1x3 双倍(根据绘图的需要)?
具有以下类定义
classdef color
properties
R, G, B
end
methods
function c = color(r, g, b)
c.R = r;
c.G = g;
c.B = b;
end
function g = get(c)
g = [c.R, c.G, c.B];
end
end
enumeration
red (1, 0, 0)
green (0, 1, 0)
end
end
我可以写color.green.get() 来获得[0 1 0],但我希望与color.green 得到相同的结果以使代码更清晰。
另一种解决方案可能是将color 设置为全局结构,但这并不实用,因为全局变量会导致混淆,我必须在每个脚本/函数中编写global color;。
【问题讨论】:
标签: arrays matlab vector colors enumeration