Module:Random/doc: Difference between revisions

Content deleted Content added
mNo edit summary
 
(7 intermediate revisions by 5 users not shown)
Line 1:
{{high-use}}
{{module rating|protected}}
{{Lua|Module:List|Module:Yesno}}
This module contains a number of functions that use random numbers. It can output random numbers, select a random item from a list, and reorder lists randomly. The randomly reordered lists can be output inline, or as various types of ordered and unordered lists. The available functions are outlined in more detail below.
 
Line 10 ⟶ 12:
The arguments <code>m</code> and <code>n</code> may be omitted, but if specified must be convertible to integers.
* With no arguments, returns a real number in the range <math>[0,1)</math>.
* With one argument, returns an integer in the range <math>[1,m]</math>, or, if <code>''m''</code> is negative, <math>(-m,0]</math>. If <code>''m''</code> mustis beequal positiveto 0 or 1, returns 1 (or 0 if <math>m=-1</math>).
* With two arguments, returns an integer in the range <math>[m,n]</math>. <code>''m''</code> and <code>''n''</code> can be either positive or negative. If <code>''m''</code> is greater than <code>''n''</code>, returns an integer in the range <math>[n,m]</math> instead.
* If the {{para|same}} parameter is set to "yes", "y", "true", or "1", the same random number is returned for each module call on a given page.
Line 16 ⟶ 18:
'''Examples''' <small>({{purge|refresh|anchor=Number}})</small>
 
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|number}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|number}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|number|100}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|number|100}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|number|-100|-50}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|number|-100|-50}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|number|100|same=yes}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|number|100|same=yes}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|number|100|same=yes}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|number|100|same=yes}}
 
<small>The documentation for this function is partly taken from the [[mw:Extension:Scribunto/Lua reference manual#math.random|Scribunto Lua reference manual]], which is in turn based on the [http://www.lua.org/manual/5.1/index.html Lua 5.1 Reference Manual], available under the [[MIT License]].</small>
Line 39 ⟶ 41:
'''Examples''' <small>({{purge|refresh|anchor=Date}})</small>
 
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|date}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|date}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|date|format=F j}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|date|format=F j}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|date|1 Jan 1980|31 Dec 1999}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|date|1 Jan 1980|31 Dec 1999}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|date|1st January 1500|1st January 3000|format=g:i a, l d M Y}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|date|1st January 1500|1st January 3000|format=g:i a, l d M Y}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|date|1970/06/01}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|date|1970/06/01}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|date|same=yes}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|date|same=yes}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|date|same=yes}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|date|same=yes}}
 
== Item ==
Line 57 ⟶ 59:
'''Example''' <small>({{purge|refresh|anchor=Item}})</small>
 
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|item|egg|beans|sausage|bacon|spam}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|item|egg|beans|sausage|bacon|spam}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|item|egg|beans|sausage|bacon|spam|same=yes}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|item|egg|beans|sausage|bacon|spam|same=yes}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|item|egg|beans|sausage|bacon|spam|same=yes}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|item|egg|beans|sausage|bacon|spam|same=yes}}
 
Setting "same" will make the template select the same number item from each list, even if the things in them are different.
 
* <syntaxhighlight lang="wikitext">My
{{#invoke:random|item|egg |bean |sausage |bacon |spam |same=yes}}
is
{{#invoke:random|item|quail |pinto |kielbasa |canadian |spammy|same=yes}}
and my
{{#invoke:random|item|blegg |blean |blausage |blacon |blam |same=yes}}
is
{{#invoke:random|item|blail |blinto|blielbasa|blanadian|blammy|same=yes}}</syntaxhighlight>
 
&rarr; My {{#invoke:random|item|egg |bean |sausage |bacon |spam |same=yes}}
is {{#invoke:random|item|quail |pinto |kielbasa |canadian |spammy|same=yes}} and my
{{#invoke:random|item|blegg |blean |blausage |blacon |blam |same=yes}} is {{#invoke:random|item|blail |blinto|blielbasa|blanadian|blammy|same=yes}}.
 
== List ==
Line 97 ⟶ 114:
'''Examples''' <small>({{purge|refresh|anchor=List}})</small>
 
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|list|egg|beans|sausage|bacon|spam}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|list|egg|beans|sausage|bacon|spam}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=dot}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=dot}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=space}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=space}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=;&amp;#32;}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=;&#32;}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=foo}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=foo}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|list|egg|beans|sausage|bacon|spam|limit=3}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|list|egg|beans|sausage|bacon|spam|limit=3}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|list|egg|beans|sausage|bacon|spam|same=yes}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|list|egg|beans|sausage|bacon|spam|same=yes}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|list|egg|beans|sausage|bacon|spam|same=yes}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|list|egg|beans|sausage|bacon|spam|same=yes}}
 
== Text list ==
Line 120 ⟶ 137:
'''Examples''' <small>({{purge|refresh|anchor=Text list}})</small>
 
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|text_list|egg|beans|sausage|bacon|spam}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|text_list|egg|beans|sausage|bacon|spam}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|text_list|egg|beans|sausage|bacon|spam|sep=;&amp;#32;}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|sep=;&#32;}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|text_list|egg|beans|sausage|bacon|spam|sep=;&amp;#32;|conj=&amp;#32;or&amp;#32;}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|sep=;&#32;|conj=&#32;or&#32;}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|text_list|egg|beans|sausage|bacon|spam|limit=3}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|limit=3}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|text_list|egg|beans|sausage|bacon|spam|same=yes}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|same=yes}}
* <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|text_list|egg|beans|sausage|bacon|spam|same=yes}}</nowiki></codesyntaxhighlight> &rarr; {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|same=yes}}
 
== HTML lists ==
Line 140 ⟶ 157:
| <code>bulleted_list</code>
| Bulleted lists
| <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|bulleted_list|egg|sausage|spam}}</nowiki></codesyntaxhighlight>
| {{#invoke:random|bulleted_list|egg|sausage|spam}}
|-
| <code>unbulleted_list</code>
| Unbulleted lists
| <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|unbulleted_list|egg|sausage|spam}}</nowiki></codesyntaxhighlight>
| {{#invoke:random|unbulleted_list|egg|sausage|spam}}
|-
| <code>horizontal_list</code>
| Horizontal bulleted lists
| <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|horizontal_list|egg|sausage|spam}}</nowiki></codesyntaxhighlight>
| {{#invoke:random|horizontal_list|egg|sausage|spam}}
|-
| <code>ordered_list</code>
| Ordered lists (numbered lists and alphabetical lists)
| <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|ordered_list|egg|sausage|spam}}</nowiki></codesyntaxhighlight>
| {{#invoke:random|ordered_list|egg|sausage|spam}}
|-
| <code>horizontal_ordered_list</code>
| Horizontal ordered lists
| <code><nowikisyntaxhighlight lang="wikitext" inline>{{#invoke:random|horizontal_ordered_list|egg|sausage|spam}}</nowiki></codesyntaxhighlight>
| {{#invoke:random|horizontal_ordered_list|egg|sausage|spam}}
|}
Line 170 ⟶ 187:
; All parameters
 
{{pre2pre|
<nowiki>{{</nowiki>#invoke:random<nowiki>|</nowiki>''function''
<nowiki>|</nowiki>''first item''<nowiki>|</nowiki>''second item''<nowiki>|</nowiki>''third item''<nowiki>|</nowiki>...