Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MediaWiki中,ifeq解析器函数始终分支为false_Mediawiki_Mediawiki Templates - Fatal编程技术网

在MediaWiki中,ifeq解析器函数始终分支为false

在MediaWiki中,ifeq解析器函数始终分支为false,mediawiki,mediawiki-templates,Mediawiki,Mediawiki Templates,我尝试了以下方法: {{#ifeq: {{{gene.codingnature}}} | 1 | Yes | No }} {{#ifeq: {{{gene.codingnature}}} | "1" | Yes | No }} {{#ifeq: {{{gene.codingnature}}} | 0 | Yes | No }} {{#ifeq: {{{gene.codingnature}}} | "0" | Yes | No }} {{{gene.codingnature}}}是0。输出总是否

我尝试了以下方法:

{{#ifeq: {{{gene.codingnature}}} | 1 | Yes | No }}
{{#ifeq: {{{gene.codingnature}}} | "1" | Yes | No }}
{{#ifeq: {{{gene.codingnature}}} | 0 | Yes | No }}
{{#ifeq: {{{gene.codingnature}}} | "0" | Yes | No }}
{{{gene.codingnature}}}是0。输出总是否

我也试过:

{{#ifexpr: {{{gene.codingnature}}} = 0 | Yes | No }}
{{#ifexpr: {{{gene.codingnature}}} = 1 | Yes | No }}
Expression error: Unrecognized punctuation character "{". Expression error: Unrecognized punctuation character "{".
但是,正如你所看到的,它陷入了一个错误。

你读过吗

如果您只想传递一个布尔值并避免担心未定义的参数、缺少的参数等,只需使用

{{#if: {{{gene.codingnature|}}} | Yes | No }}
无论您作为参数传递什么,都会使它成为真的:通常人们输入1、yes、true等,他们不必担心哪一个是正确的

如果确实要传递文本字符串1/0,例如,因为模板已被多次这样调用,则需要为参数指定默认值,通常为false,否则删除该参数将等于true

{{#ifeq: {{{gene.codingnature|0}}} | 1 | Yes | No }}

查看它的渲染方式:

您如何知道它是0?你能告诉我们模板包含吗?仅从这些信息不可能知道,但是表达式错误:无法识别的标点符号{。表达式错误:无法识别的标点符号{。告诉我们,{{{gene.codingnature}}}}甚至可能没有定义。Print codingnature>{{{gene.codingnature}我知道它是0,因为写{{{gene.codingnature}}}}打印0…你确定显示否的不仅仅是模板预览吗?我已经输入了模板代码,并使用gene.codingnature=0对其进行了计算,第三种情况下给出了是。在我的情况下,第三种情况下给出了否。