我想知道如果之前有其他的实现,特别是为什么需要两个关键字,以及为什么没有加入关键字。但在python中,elif被用作else if控制流语句。我想知道如果一个普通的编译器会如何解释。关于执行其他问题如果
如果作为单个标记,编译器会处理其他的东西吗?或者,如果仅仅是一个带有隐式块范围的else可以转移到下面的if?
单令牌:
if (some_condition) {
some_statement();
}
else_if (some_other_condition) {
other_statement();
}
else {
default_statement();
}
要不然那么如果:
if (some_condition) {
some_statement();
}
else { // compiler generated block scope
if (some_other_condition) {
other_statement();
}
else {
default_statement();
}
}
我知道,不同的语言和编译器可以不同的方式实现这一点,但如果任何人有特定的有关特定语言(或编译器)的详细信息我有兴趣听到它们。
某些语言以“elif”或“elsif”或类似形式使用'单个标记'else if'。 *标记器不应该意识到语法 - 例如它只是吐出一系列的标记,并没有任何“更高”的结构(这样做会导致像Perl这样的语言...试图解析:p) – 2010-11-12 00:05:39
在PHP中,你有两个。您可以编写'elseif'或'else if',并且会按照您的指示进行解释。 [Documentation](http://php.net/manual/en/control-structures.elseif.php) – MartinodF 2010-11-12 00:05:56
@MartinodF:是的,PHP及其延迟的“双语法”... – 2010-11-12 00:08:28