社区文档构建中,欢迎编辑。 社区答疑群(非官方):717421103,点点小课堂(腾讯会议):5696651544
全站通知:
帮助:Ifexpr
刷
历
编
跳到导航
跳到搜索
Ifexpr是一个解析函数。帮助:解析函数页列出了所有解析函数的说明。
根据指定表达式计算结果的布尔值,返回两个指定值中的一个。
出自扩展ParserFunctions。
- 格式
{{#ifexpr: 表达式 | 为真输出值 | 为假输出值 }}
- '表达式'的计算方法和上面expr完全一样,可用的运算符也相同。运算结果会被当作一个布尔值。
- 例子
- 输入任何空表达式会判断为
false(假)
:{{#ifexpr: | yes | no}}
→no
- 和上面expr中所述相同:零值被判断为
false(假)
,任何非零值被判断为true(真)
,所以这个函数的功能也可以用ifeq和expr来实现:{{#ifeq: {{#expr: 表达式 }} | 0 | 为假输出值 | 为真输出值 }}
- 但在表达式为空或有误时,这两种实现方式的效果不同(因为错误消息会被当作一个空字串,它不等于零,所以会得到'为真输出值'):
{{#ifexpr: = | yes | no }}
→表达式错误:未预料的=操作符。
- 而:
{{#ifeq: {{#expr: = }} | 0 | no | yes }}
→yes
- 两个'输出值'可省略其一或两者都省略。当该情况下的输出值被省略时,不会输出结果。
{{#ifexpr: 1 > 0 | yes }}
→yes
{{#ifexpr: 1 < 0 | yes }}
→{{#ifexpr: 0 = 0 | yes }}
→yes
{{#ifexpr: 1 > 0 | | no}}
→{{#ifexpr: 1 < 0 | | no}}
→no
{{#ifexpr: 1 > 0 }}
→
- 支持逻辑运算 and 和 or:
{{#ifexpr: 0 = 0 or 1 = 0 | yes}}
→yes
{{#ifexpr: 0 = 0 and 1 = 0 | | no}}
→no
{{#ifexpr: 2 > 0 or 1 < 0 | yes}}
→yes
{{#ifexpr: 2 > 0 and 1 > 0 | yes | no}}
→yes
|