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

如何在一个等价语句中包含多个条件?

如何解决《如何在一个等价语句中包含多个条件?》经验,为你挑选了1个好方法。

如果变量满足两个值中的一个,我试图触发一个条件.我知道我可以表达为:

if x == 5 || x == 6
    execute code...
end

但我想知道是否有一些更优雅的东西,如果x有一个长名称.就像是:

if x == {5, 6}
    execute code...
end

有人有主意吗?



1> Lumen..:

确实有一种通用的方法.您可以使用该any函数来测试是否x等于数组的任何元素:

if any(x == [5, 6])
    % execute code
end

这适用于数值数组.如果您正在处理单元阵列,可以使用 ismember(感谢@ nilZ0r!)

choices = {'foo', 'bar', 'hello'};
x = 'hello';

if ismember(x, choices)
    % execute code
end

ismember 适用于数值和单元格数组(感谢@TasosPapastylianou).


如果你将输入的顺序切换为`ismember()`,你可以跳过它之前的`any`(`ismember(x,choices)`而不是`any(ismember(choices,x))`
推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有