More actions
Created page with "{{wikipedia|page name}} {{High-use}} This module counts the number of parameters that are passed to a template. For example, you might put the code <code><nowiki>{{#invoke:ParameterCount|all}}</nowiki></code> inside the <code><nowiki>{{my template}}</nowiki></code> template. If you then use <code><nowiki>{{my template}}</nowiki></code> like this: <syntaxhighlight lang="wikitext"> {{my template | one | two | three }} </syntaxhighlight> Then the <code><nowiki>{{#invoke:P..." |
No edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{wikipedia|page name}} | {{wikipedia|page name}} | ||
This module counts the number of parameters that are passed to a template. For example, you might put the code <code><nowiki>{{#invoke:ParameterCount|all}}</nowiki></code> inside the <code><nowiki>{{my template}}</nowiki></code> template. If you then use <code><nowiki>{{my template}}</nowiki></code> like this: | This module counts the number of parameters that are passed to a template. For example, you might put the code <code><nowiki>{{#invoke:ParameterCount|all}}</nowiki></code> inside the <code><nowiki>{{my template}}</nowiki></code> template. If you then use <code><nowiki>{{my template}}</nowiki></code> like this: | ||
| Line 62: | Line 61: | ||
If the code <code><nowiki>{{#invoke:ParameterCount|all|checkblanks=no}}</nowiki></code> was added to the <code><nowiki>{{my example template}}</nowiki></code> template, the code <code><nowiki>{{my example template|1|2|foo=bar|baz=}}</nowiki></code> would make ParameterCount produce <code>4</code>. | If the code <code><nowiki>{{#invoke:ParameterCount|all|checkblanks=no}}</nowiki></code> was added to the <code><nowiki>{{my example template}}</nowiki></code> template, the code <code><nowiki>{{my example template|1|2|foo=bar|baz=}}</nowiki></code> would make ParameterCount produce <code>4</code>. | ||
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | | | <includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | | | ||
Latest revision as of 17:50, 9 April 2025
| This page uses Creative Commons Licensed content from Wikipedia (view authors). |
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.