我正在阅读this代码,在第97行,我找到了以下代码:
switch lower(opts.color)
case 'rgb'
case 'opponent'
...
我从未见过空洞的陈述(根据documentation)。这是什么意思?
"如果lower(opts.color)
是rgb
或opponent
,那么...
"
或
"如果lower(opts.color)
rgb
无效,且opponent
做...
"?
答案 0 :(得分:8)
如果case
块为空,则不会对该特定情况执行任何操作。因此,如果opt.colors
为'rgb'
,则不会采取任何措施。
作者甚至不愿将其包含为case
的原因是因为如果他们没有,那么otherwise
块中的代码(将opts.color
设置为{{}因为'hsv'
是opt.colors
,这显然是不合需要的行为,所以会执行1}}因为提供的颜色空间无法识别/有效。
该块功能相当于
'rgb'
匹配多个值的if ~strcmpi(opts.color, 'rgb')
switch lower(opts.color)
case 'opponent'
% Do stuff
case 'hsv'
% Do other stuff
otherwise
% Throw warning
end
end
块的语法需要使用cell array for the case expression。
case