当前位置:  开发笔记 > 编程语言 > 正文

Matlab开关/ case中的空语句?

如何解决《Matlab开关/case中的空语句?》经验,为你挑选了1个好方法。

我正在阅读此代码,在第97行,我发现了以下代码:

switch lower(opts.color)
  case 'rgb'
  case 'opponent'
  ...

我从未见过空话(根据文件).这是什么意思?

"如果lower(opts.color)rgb或者opponent然后做..."

要么

"如果lower(opts.color)rgb什么也不做,如果它opponent..."?



1> Suever..:

如果case块为空,则不对该特定情况执行任何操作.所以,如果opt.colors'rgb'不采取任何行动.

究其原因,提交人甚至费心包括它作为case是因为如果他们没有,则内的代码otherwise块(它设置opts.color'hsv'如果因为所供给的颜色空间没有被识别的/有效的)将被执行的opt.colors'rgb',这显然是不希望行为.

该块是功能相当于

if ~strcmpi(opts.color, 'rgb')
    switch lower(opts.color)
        case 'opponent'
            % Do stuff
        case 'hsv'
            % Do other stuff
        otherwise
            % Throw warning
    end
end

case匹配多个值的块的语法需要使用case表达式的单元数组.

switch lower(opts.color)
    case {'rgb', 'opponent'}
        ...
end

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有