switch-case语句代替将变量与多个整数值进行比较的long if语句。 R中的switch case是多路分支语句。它允许针对值列表测试变量是否相等。
Switch语句遵循映射和搜索值列表的方法。如果一个特定值有多个匹配项, 则switch语句将返回与表达式匹配的值的第一个匹配项。
语法如下:
switch(expression, case1, case2, case3....)
在此, 表达式与值列表匹配, 并返回相应的值。
有关开关案例声明的要点:
- 带有字符串的表达式类型始终与列出的情况匹配。
- 不是字符串的表达式, 则此exp被强制为整数。
- 对于多个匹配项, 将使用第一个match元素。
- R开关大小写中没有默认参数大小写。
- 如果没有匹配的大小写, 则可以使用未命名的大小写。
流程图:
范例1:
# Following is a simple R program
# to demonstrate syntax of switch.
val < - switch(
4 , "Geeks1" , "Geeks2" , "Geeks3" , "Geeks4" , "Geeks5" , "Geeks6"
)
print (val)
输出如下:
[1] "Geeks4"
范例2:
# Following is val1 simple R program
# to demonstrate syntax of switch.
# Mathematical calculation
val1 = 6
val2 = 7
val3 = "s"
result = switch(
val3, "a" = cat( "Addition =" , val1 + val2), "d" = cat( "Subtraction =" , val1 - val2), "r" = cat( "Division = " , val1 / val2), "s" = cat( "Multiplication =" , val1 * val2), "m" = cat( "Modulus =" , val1 % % val2), "p" = cat( "Power =" , val1 ^ val2)
)
print (result)
输出如下:
multiplication = 42NULL