社区文档构建进行中,欢迎编辑。社区答疑群(非官方):717421103
全站通知:
帮助:解析函数/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