Anonymous user
Module:Yesno/doc: Difference between revisions
m
Adapt for this wiki
m (Deprecating <source> tag: phab:T237267) |
imported>FrozenPlum m (Adapt for this wiki) |
||
(16 intermediate revisions by 5 users not shown) | |||
Line 1:
{{Documentation subpage}}
<!-- Documentation here -->
This module provides a consistent interface for processing boolean or boolean-style string input.
This module processes these kinds of strings and turns them into boolean input for Lua to process.
It also returns <code>nil</code> values as <code>nil</code>, to allow for distinctions between <code>nil</code> and <code>false</code>.
The module also accepts other Lua structures as input, i.e. booleans, numbers, tables, and functions.
If it is passed input that it does not recognize as boolean or <code>nil</code>, it is possible to specify a default value to return.
== Syntax ==
yesno(value, default)
</syntaxhighlight>
<code>value</code> is the value to be tested.
▲<syntaxhighlight lang="lua">yesno(value, default)</syntaxhighlight>
Other values evaluate to <code>default</code>.
▲<code>value</code> is the value to be tested. Boolean input or boolean-style input (see below) always evaluates to either <code>true</code> or <code>false</code>, and <code>nil</code> always evaluates to <code>nil</code>. Other values evaluate to <code>default</code>.
== Usage ==
First, load the module. Note that it can only be loaded from other Lua modules, not from normal wiki pages
▲First, load the module. Note that it can only be loaded from other Lua modules, not from normal wiki pages. For normal wiki pages you can use {{tl|yesno}} instead.
<syntaxhighlight lang="lua">
Line 19 ⟶ 25:
</syntaxhighlight>
Some input values always return <code>true</code>, and some always return <code>false
<code>nil</code> values always return <code>nil</code>.
<syntaxhighlight lang="lua">
Line 43 ⟶ 50:
yesno(nil)
</syntaxhighlight>
String values are converted to lower case before they are matched:
<syntaxhighlight lang="lua">
-- These always return true:
Line 62 ⟶ 67:
</syntaxhighlight>
You can specify a default value if <code>yesno</code> receives input other than that listed above
If you don't supply a default, the module will return <code>nil</code> for these inputs.
<syntaxhighlight lang="lua">
Line 83 ⟶ 89:
yesno(function() return 'This is a function.' end, 'bar')
</syntaxhighlight>
<!--T:26-->
Note that the blank string also functions this way:
<syntaxhighlight lang="lua">
Line 91 ⟶ 97:
</syntaxhighlight>
Although the blank string usually evaluates to <code>false</code> in wikitext, it evaluates to <code>true</code> in Lua.
This module prefers the Lua behaviour over the wikitext behaviour.
[[Category:Lua metamodules]]▼
If treating the blank string as <code>false</code> is important for your module, you will need to remove blank arguments at an earlier stage of processing.
}}</includeonly>▼
<noinclude>
<includeonly>
<!-- Template categories/interwikis here -->
|