社区文档构建进行中,欢迎编辑。社区答疑群(非官方):717421103

全站通知:

帮助:解析函数/ifexpr

来自WIKI实验室WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

根据指定表达式计算结果的布尔值,返回两个指定值中的一个。

出自扩展 ParserFunctions

格式
{{#ifexpr: 表达式|为真输出值|为假输出值}}
'表达式'的计算方法和上面expr完全一样,可用的运算符也相同。运算结果会被当作一个布尔值。
例子
输入任何空表达式会判断为false(假)
{{#ifexpr:|yes|no}}
no
和上面expr中所述相同:零值被判断为false(假),任何非零值被判断为true(真),所以这个函数的功能也可以用ifeqexpr来实现:
{{#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