根据一个变量的值采取不同的操作是非常常见的。这可以使用如果
以以下方式语句
如果(X==1)do_something();elseif(X==2)do_something_else();否则do_something_completely_different();endif
然而,这种代码的编写和维护都可能非常麻烦。为了克服这个问题,Octave支持转换
语句使用此语句,上面的示例变成
开关(X)情况1 do_something();情况2 do_something_else();否则do_something_completely_different();末端开关
这段代码使问题的重复结构体更加明确,使代码更易于阅读,从而便于维护。此外,如果变量十、
如果要更改其名称,则只有一行需要更改,而当如果
使用了语句。
的一般形式转换
语句为
转换表示案例标签 命令列表案例标签 命令列表否则命令列表末端开关
这里的标签可以是任何表达式。但是,重复标签未检测到值,只有命令列表将执行与第一匹配相对应的操作。对于转换
语句要有意义至少一个案例标签 命令列表
子句必须存在,而否则命令列表
子句是可选的。
如果标签是相应的元胞数组吗命令列表如果任何的元素匹配表示。例如,以下程序将打印'变量为6或7’.
A=7;开关(A)case{6,7}printf(“变量是6或7”);否则printf(“变量既不是6也不是7”);末端开关
与所有其他特定终止
关键字,末端开关
可能被终止
,但如果使用特定的形式,则可以获得更好的diag结果。
使用的一个优点转换
语句与使用相比如果
语句是标签s可以是字符串。如果如果
语句被使用了不可以写
if(X==“a string”)#这是无效的
从于之间的字符对字符比较十、
并且如果字符串相等,则将进行测试而不是评估。此特殊情况从处理转换
语句,并且可以编写这样的程序
switch(X)case“a string”do_something。。。末端开关
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号