社区文档构建中,欢迎编辑。 社区答疑群(非官方):717421103,点点小课堂(腾讯会议):5696651544

全站通知:

帮助:Ifexpr

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

Ifexpr是一个解析函数。帮助:解析函数页列出了所有解析函数的说明。

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

出自扩展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