跳转到内容

模組:ParameterCount/doc

维基百科,自由的百科全书

这是Module:ParameterCount/doc当前版本,由-Zest留言 | 贡献编辑于2017年10月29日 (日) 23:17 建立内容为“This module counts the number of parameters that are passed to a template. For example, you might put the code <code><nowiki>{{#invoke:ParameterCoun…”的新页面)。这个网址是本页该版本的固定链接。

(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)

这是Module:ParameterCount的文档页面

This module counts the number of parameters that are passed to a template. For example, you might put the code {{#invoke:ParameterCount|all}} inside the {{my template}} template. If you then use {{my template}} like this:

{{my template
| one
| two
| three
}}

Then the {{#invoke:ParameterCount|all}} code inside the template will give the result 3.

This module can be configured to count all parameters, or specific parameters defined by a template author. This module is only useful in templates. It should not be used on non-template pages.

The module has two functions available, all and main.

all

[编辑]

The all function is used to count all parameters specified when using a template, regardless of whether or not they are used in the template itself.

Usage

{{#invoke:ParameterCount|all}}

Examples

If the code {{#invoke:ParameterCount|all}} was added to the {{my example template}} template, the code {{my example template|1|2|foo=bar}} would make ParameterCount produce 3.

main

[编辑]

The main function is used to count parameters with specific names. There are two ways of specifying parameters: by name, and using Lua patterns.

By name

{{#invoke:ParameterCount|main|1|2|3|abc|def}}

To specify a parameter by name, add the parameter name as a positional parameter.

By pattern

{{#invoke:ParameterCount|main|pattern1=^param%d+$|pattern2=^abc}}

To specify parameters by Lua Ustring pattern, add the pattern to |pattern1=, |pattern2= etc. For information on constructing Lua patterns, see the Lua Users' Wiki pattern tutorial, as well as the Lua reference manual sections on Lua patterns and Ustring patterns.

Examples

If the code {{#invoke:ParameterCount|main|1|2|abc}} was added to the {{my example template}} template, the code {{my example template|1|2|abc=some value|other=some other value}} would make ParameterCount produce 3.

If the code {{#invoke:ParameterCount|main|pattern1=^param%d+$}} was added to the {{my example template}} template, the code {{my example template|param1=a value|param2=another value|param5=yet another value}} would make ParameterCount produce 3.

Checking for blanks

[编辑]
{{#invoke:ParameterCount|all|checkblanks=no}}
{{#invoke:ParameterCount|main|checkblanks=no}}

By default, the module doesn't count parameters whose values contain only whitespace, e.g. |abc=   . If you wish to count all parameters, regardless of their value, use |checkblanks=no. This works with both the all and main functions.

Examples

If the code {{#invoke:ParameterCount|all|checkblanks=no}} was added to the {{my example template}} template, the code {{my example template|1|2|foo=bar|baz=}} would make ParameterCount produce 4.