我想考虑一种语法改进。
我怎样才能写得更好:
IF condition1
IF condition2
{ do something }
ELSE
{ message1 }
ELSE
{ message1 }
有两个 IF 语句不能在一个语句中连接,但在两个 ELSE 部分中的代码必须相同(在此示例中为 message1)。
这个怎么写更好?我不想两次编写相同的代码(在 ELSE 部分中)。
提前TnX!
内马尼亚
我想考虑一种语法改进。
我怎样才能写得更好:
IF condition1
IF condition2
{ do something }
ELSE
{ message1 }
ELSE
{ message1 }
有两个 IF 语句不能在一个语句中连接,但在两个 ELSE 部分中的代码必须相同(在此示例中为 message1)。
这个怎么写更好?我不想两次编写相同的代码(在 ELSE 部分中)。
提前TnX!
内马尼亚
显而易见的解决方案是将这两个条件结合起来:
IF condition1 AND condition2
{ do something }
ELSE
{ message1 }
但是,如果由于某种原因这两个条件确实无法组合,并且您使用的是具有break
关键字或等效项的类 C 语言,那么您可以执行以下操作:
DO
IF condition1
IF condition2
{ do something }
BREAK
{ message1 }
WHILE FALSE
关于什么
IF condition1 AND condition2
{ do something }
ELSE
{ message1 }
如果你不能加入这两个语句,你可以使用某种 GOTO (ps:这是不好的做法)
IF condition1
IF condition2
{ do something }
ELSE
GOTO ELSE_CODE
ELSE
:ELSE_CODE
{ message1 }
如果您正在谈论一种没有短路布尔评估的语言,您可以手动实现它
flag = condition1
IF flag
flag = flag AND condition2
IF flag
{ do something }
ELSE
{ message1 }
我搜索了这个答案,我意识到你只需要重新排序语句。
而不是 2 个 IF 语句和一个像这样的其他语句
{
if(FirstCheck === true){
//run function 1
}
if(SecondCheck === true){
//run function 2
}
}else{
//run this else only when the first 2 IFs are false
// run function 3
}
}
你想做一个 IF 是因为你想在 else 中运行函数,然后为那个 IF 放置一个 else,然后运行你原来的 IF
if(orginalElse !== true){
//run function 3
//this is the orginal else you would want to run, just with a negative if statement
}else{
if(FirstCheck === true){
//run function 1
}
if(SecondCheck === true){
//run function 2
}
}