模組:IfUtil/doc
外观

这是Module:IfUtil的文档页面
![]() | 此頁面是Module:IfUtil的模块文档。 此頁面可能包含了模板的使用說明、分類和其他内容。 |
noTrim
由於預設的解析器函數(如{{#if:}}
、{{#ifexpr:}}
)會自動將輸入的參數做去除頭尾空白或斷行字元的操作
這對部分需要使替換引用結果出現換行又要避免出現尾部佔位符(如在換行後加入<!---->
或{{void}}
等作法避免trim)是不可行的,或者需要較複雜的語法書寫方式,這將使的模板代碼的可讀性和可維護性變得十分的差,並且增加模板展開調用甚至可能增加維基媒體伺服器的運作負擔。
此外,現有的Help:解析器函數替代模板{{if}}同為自動trim模板,並且已經廣泛的在許多條目中使用,因此修改該模板的行為有可能大量影響條目內容與顯示。
因此為了解決{{#if:}}
、{{#ifexpr:}}
和{{if}}
會自動將參數trim掉的問題,因此這個模組透過Module:Arguments將關閉參數trim功能提供了一個解決方案。
基本用法
{{#invoke:ifUtil
|noTrim|命令|判斷參數|成立時返回|不成立時返回}}
- 比較
注意留意「文字」與模板間的空格狀況
項目 | 使用Module:IfUtil#noTrim | 使用Help:解析器函數 | ||
---|---|---|---|---|
您所輸入的 | 您所看到的 | 您所輸入的 | 您所看到的 | |
#ifexpr: |
文字{{#invoke:IfUtil|noTrim|expr|5>3|
Yes
|
No
}}文字
|
文字
Yes 文字 |
文字{{#ifexpr:5>3|
Yes
|
No
}}文字
|
文字Yes文字 |
#ifexpr: |
文字{{#invoke:IfUtil|noTrim|expr|5<3|
Yes
|
No
}}文字
|
文字
No 文字 |
文字{{#ifexpr:5<3|
Yes
|
No
}}文字
|
文字No文字 |
#ifeq: |
文字{{#invoke:IfUtil|noTrim|eq|A|A|
Yes
|
No
}}文字
|
文字
Yes 文字 |
文字{{#ifeq:A|A|
Yes
|
No
}}文字
|
文字Yes文字 |
#ifeq: |
文字{{#invoke:IfUtil|noTrim|eq|A|B|
Yes
|
No
}}文字
|
文字
No 文字 |
文字{{#ifeq:A|B|
Yes
|
No
}}文字
|
文字No文字 |
yesno:是 | 文字{{#invoke:IfUtil|noTrim|yesno|是|
Yes
|
No
}}文字
|
文字
Yes 文字 |
文字{{yesno|是|yes=
Yes
|no=
No
}}文字
|
文字Yes文字 |
#ifexist: 無此條目!! |
文字{{#invoke:IfUtil|noTrim|exist|無此條目!!|
Yes
|
No
}}文字
|
文字
No 文字 |
文字{{#ifexist:無此條目!!|
Yes
|
No
}}文字
|
文字No文字 |
#ifexist: WP:條目 |
文字{{#invoke:IfUtil|noTrim|exist|WP:條目|
Yes
|
No
}}文字
|
文字
Yes 文字 |
文字{{#ifexist:WP:條目|
Yes
|
No
}}文字
|
文字Yes文字 |
所有命令
命令 | 基本用法 | 描述 | ||
---|---|---|---|---|
常規判斷 | ||||
if
|
{{#invoke:ifUtil|noTrim|if|判斷的字串|字串有值時返回|字串為空時返回}}
|
{{#if:}} 的不trim版本。
| ||
expr
|
{{#invoke:ifUtil|noTrim|expr|expr表達式|表達式為真時返回|表達式為假時返回}}
|
{{#ifexpr:}} 的不trim版本。
| ||
內容比對 | ||||
eq
|
{{#invoke:ifUtil|noTrim|eq|判斷的字串|字串有值時返回|字串為空時返回}}
|
{{#ifeq:}} 的不trim版本。
| ||
eq|選項=Y/N
|
{{#invoke:ifUtil|noTrim|eq|選項1=Y/N|選項2=Y/N|判斷的字串|字串有值時返回|字串為空時返回}}
|
特殊選項的{{#ifeq:}} 。目前的選項有:
可疊加多個選項。 | ||
eq|trim=no
|
{{#invoke:ifUtil|noTrim|eq|trim=no|比對的字串1|比對的字串2|字串相等時返回|字串不同時返回}}
|
連輸入欲比對之字串都不trim的{{#ifeq:}} 。其會將「foo 」與「foo 」視為相異。
| ||
eq|i=yes
|
{{#invoke:ifUtil|noTrim|eq|i=yes|比對的字串1|比對的字串2|字串相等時返回|字串不同時返回}}
|
忽略大小寫的trim的{{#ifeq:}} 。其會將「FOO 」與「foo 」視為相同。
| ||
內容判斷 | ||||
iferror
|
{{#invoke:ifUtil|noTrim|iferror|欲除錯的內容|內容有錯誤時返回|內容沒有問題時返回}}
|
{{#iferror:}} 的不trim版本。
| ||
ifexist
|
{{#invoke:ifUtil|noTrim|ifexist|要判斷是否存在的頁面標題|頁面存在時返回|頁面不存在時返回}}
|
{{#ifexist:}} 的不trim版本。
| ||
工具 | ||||
yesno
|
{{#invoke:ifUtil|noTrim|yesno|可代表布林值的字串|布林值為真時返回|布林值為假時返回}}
|
{{yesno}} 的不trim版本[a],同時也支援{{yesno}}的。|yes= 、|no= 、|def= 、|¬= 和|blank= 等參數。
| ||
其他if-else類模板
|
{{#invoke:ifUtil|noTrim|<其他if-else類模板>|判斷用參數|成立時返回|不成立時返回}}
|
其他if-else類模板的不trim版本[a]。 | ||
其他模板 [b]
|
{{#invoke:ifUtil|noTrim|<模板名稱>|參數1|參數2|參數3....}}
|
對於不支援或非if-else類的模板會有類似一般地調用模板的效果。 | ||