假设您有一个编码部分,可以通过嵌套的if来执行
if then
else if then
endif
endif
或另一个if语句
if then endif
if then endif
两者之间有什么区别?
答案 0 :(得分:1)
要回答这个问题有些棘手,因为您必须改进格式(并最好指定一种语言)。
使用伪代码,我想你的意思是:
if condition_1 then:
action_1
else:
if condition_2 then:
action_2
end if (for condition_2)
end if (for condition_1)
vs
if condition_1 then:
action_1A
else:
action_1B
end if (for condition_1)
if condition_2 then:
action_2
end if (for condition_2)
区别在于,在第一种情况下,仅在condition_1为false的情况下才对condition_2进行测试。如果condition_1为true,则采取action_1并且if块结束。
在第二种情况下,将检查第一个条件_1。如果为true,则采取action_1A。如果为假,则采取action_1B(您的问题中缺少此“ else”部分,这是可选的)。与condition_1无关,都会检查condition_2。如果为true,则采取action_2。
如您所见,第一个嵌套块仅允许一个动作,即action_1(condition_1为true)或action_2(condition_1为false,condition_2为true),或者如果两个条件均为false,则不允许任何动作。
在两个块的情况下,分别考虑action_1和action_2,如果condition_1和condition_2都为true,则两者都会发生,这在此嵌套示例中是不可能的。