先前写的一个工具(Qml宏预处理工具)就顺便总结一下if/elif/else/endif之间的嵌套关系,并整理成表。
从左到右顺序,与之上一个宏定义对比。除去2个无效项,共有14个有效项。
if | elif | else | endif | |
---|---|---|---|---|
if | 创建子层 | 同层逻辑 | 同层逻辑 | 同层逻辑 |
elif | 创建子层 | 同层逻辑 | 同层逻辑 | 同层逻辑 |
else | 创建子层 | 无效 | 无效 | 同层逻辑 |
endif | 创建分组层 | 上一层逻辑 | 上一层逻辑 | 上一层逻辑 |
示例标注:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27