Module:Yesno/doc: Difference between revisions
Content added Content deleted
m (Undo revision 4677186 by ExE Boss (talk): It did not work) |
mNo edit summary |
||
Line 11: | Line 11: | ||
{{Module rating|release}} |
{{Module rating|release}} |
||
{{Module rating|protected}} |
{{Module rating|protected}} |
||
<translate>This module provides a consistent interface for processing boolean or boolean-style string input.</translate> |
|||
<translate>This module provides a consistent interface for processing boolean or boolean-style string input.</translate> <translate>While Lua allows the <tvar name=1><code>true</code></tvar> and <tvar name=2><code>false</code></tvar> boolean values, wikicode templates can only express boolean values through strings such as <tvar name=3>"1"</tvar>, <tvar name=4>"0"</tvar>, <tvar name=5>"yes"</tvar>, <tvar name=6>"no"</tvar>, etc.</translate> <translate>This module processes these kinds of strings and turns them into boolean input for Lua to process.</translate> <translate>It also returns <tvar name=1><code>nil</code></tvar> values as <tvar name=1><code>nil</code></tvar>, to allow for distinctions between <tvar name=1><code>nil</code></tvar> and <tvar name=2><code>false</code></tvar>.</translate> <translate>The module also accepts other Lua structures as input, i.e. booleans, numbers, tables, and functions.</translate> <translate>If it is passed input that it does not recognise as boolean or <tvar name=1><code>nil</code></tvar>, it is possible to specify a default value to return.</translate> |
|||
<translate>While Lua allows the <tvar name=1><code>true</code></tvar> and <tvar name=2><code>false</code></tvar> boolean values, wikicode templates can only express boolean values through strings such as <tvar name=3>"1"</tvar>, <tvar name=4>"0"</tvar>, <tvar name=5>"yes"</tvar>, <tvar name=6>"no"</tvar>, etc.</translate> |
|||
<translate>This module processes these kinds of strings and turns them into boolean input for Lua to process.</translate> |
|||
<translate>It also returns <tvar name=1><code>nil</code></tvar> values as <tvar name=1><code>nil</code></tvar>, to allow for distinctions between <tvar name=1><code>nil</code></tvar> and <tvar name=2><code>false</code></tvar>.</translate> |
|||
<translate>The module also accepts other Lua structures as input, i.e. booleans, numbers, tables, and functions.</translate> |
|||
<translate>If it is passed input that it does not recognise as boolean or <tvar name=1><code>nil</code></tvar>, it is possible to specify a default value to return.</translate> |
|||
== Syntax == |
== Syntax == |
||
Line 19: | Line 24: | ||
</syntaxhighlight> |
</syntaxhighlight> |
||
<translate><tvar name=1><code>value</code></tvar> is the value to be tested.</translate> |
|||
<translate>Boolean input or boolean-style input (see below) always evaluates to either <tvar name=1><code>true</code></tvar> or <tvar name=2><code>false</code></tvar>, and <tvar name=3><code>nil</code></tvar> always evaluates to <tvar name=3><code>nil</code></tvar>.</translate> |
|||
<translate>Other values evaluate to <tvar name=1><code>default</code></tvar>.</translate> |
|||
<translate> |
<translate> |
||
== Usage == |
== Usage == |
||
</translate> |
</translate> |
||
<translate>First, load the module. Note that it can only be loaded from other Lua modules, not from normal wiki pages |
<translate>First, load the module. Note that it can only be loaded from other Lua modules, not from normal wiki pages.</translate> |
||
<translate>For normal wiki pages you can use <tvar name=1>{{tlx|yesno}}</tvar> instead.</translate> |
|||
<syntaxhighlight lang="lua"> |
<syntaxhighlight lang="lua"> |
||
Line 29: | Line 37: | ||
</syntaxhighlight> |
</syntaxhighlight> |
||
<translate>Some input values always return <tvar name=1><code>true</code></tvar>, and some always return <tvar name=2><code>false |
<translate>Some input values always return <tvar name=1><code>true</code></tvar>, and some always return <tvar name=2><code>false</code></tvar>.</translate> |
||
<translate><tvar name=1><code>nil</code></tvar> values always return <tvar name=1><code>nil</code></tvar>.</translate> |
|||
<syntaxhighlight lang="lua"> |
<syntaxhighlight lang="lua"> |
||
Line 72: | Line 81: | ||
</syntaxhighlight> |
</syntaxhighlight> |
||
<translate>You can specify a default value if <tvar name=1><code>yesno</code></tvar> receives input other than that listed above |
<translate>You can specify a default value if <tvar name=1><code>yesno</code></tvar> receives input other than that listed above.</translate> |
||
<translate>If you don't supply a default, the module will return <tvar name=1><code>nil</code></tvar> for these inputs.</translate> |
|||
<syntaxhighlight lang="lua"> |
<syntaxhighlight lang="lua"> |
||
Line 102: | Line 112: | ||
</syntaxhighlight> |
</syntaxhighlight> |
||
<translate>Although the blank string usually evaluates to false in wikitext, it evaluates to true in Lua |
<translate>Although the blank string usually evaluates to false in wikitext, it evaluates to true in Lua.</translate> |
||
<translate>This module prefers the Lua behaviour over the wikitext behaviour.</translate> |
|||
<translate>If treating the blank string as false is important for your module, you will need to remove blank arguments at an earlier stage of processing.</translate> |
|||
<includeonly>{{Sandbox other|| |
<includeonly>{{Sandbox other|| |
||
<!-- Categories below this line; interwikis at Wikidata --> |
<!-- Categories below this line; interwikis at Wikidata --> |
Revision as of 21:07, 30 June 2021
<languages />
Script error: No such module "Template translation".