我想知道是否有一种方法可以评估switch表达式中的多个值。例如,我只想在X和Y匹配的情况下应用案例。这是我的代码:
switch (x,y) {
case x >= 0 && x < 150 && y == 150:
topLeftRight();
break;
case x == 150 && y <= 150 && y > 0:
topRightDown();
break;
case y === 0 && x > 0 && x <= 150:
bottomRightLeft();
break;
case x === 0 && y <= 150 && y >= 0:
bottomLeftUp();
break;
}
您知道是否可以通过switch进行?在此先感谢:)
您可以使用true
作为表达式来检查情况。 switch
statement使用表达式部分和大小写部分的严格比较switch
。
===
您需要一个if语句
switch (true) {
case x >= 0 && x < 150 && y == 150:
topLeftRight();
break;
case x == 150 && y <= 150 && y > 0:
topRightDown();
break;
case y === 0 && x > 0 && x <= 150:
bottomRightLeft();
break;
case x === 0 && y <= 150 && y >= 0:
bottomLeftUp();
break;
}
case语句非常适合检查单个变量是否等于多个事物的列表。例如:
if(x >= 0 && x < 150 && y == 150)
topLeftRight();
else if(x == 150 && y <= 150 && y > 0)
topRightDown();
else if(y === 0 && x > 0 && x <= 150)
bottomRightLeft();
else if(x === 0 && y <= 150 && y >= 0)
bottomLeftUp();
[评估条件时,最好使用switch(vehicle.type){
case Boat:
print("This is a boat")
break;
case Car:
print("This is a car")
break;
case default:
print("This is not a boat or a car")
break;
}
语句
您可以执行以下操作:
if/else if/else
但是您不能在一个开关中使用两个变量,而必须使用if语句