Module:Random/doc: Difference between revisions

Content deleted Content added
add limit parameter
add |same= parameter
Line 7:
The <code>number</code> function outputs a random number.
 
&#123;{#invoke:random|number|''m''|''n''|same=''yes''}}
 
The arguments <code>m</code> and <code>n</code> may be omitted, but if specified must be convertible to integers.
Line 13:
* With one argument, returns an integer in the range <math>[1,m]</math>. <code>''m''</code> must be positive.
* 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.
 
'''Examples''' <small>({{purge|refresh|anchor=Number}})</small>
Line 19 ⟶ 20:
* <code><nowiki>{{#invoke:random|number|100}}</nowiki></code> &rarr; {{#invoke:random|number|100}}
* <code><nowiki>{{#invoke:random|number|-100|-50}}</nowiki></code> &rarr; {{#invoke:random|number|-100|-50}}
* <code><nowiki>{{#invoke:random|number|100|same=yes}}</nowiki></code> &rarr; {{#invoke:random|number|100|same=yes}}
* <code><nowiki>{{#invoke:random|number|100|same=yes}}</nowiki></code> &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 26 ⟶ 29:
The <code>date</code> function outputs a random date.
 
&#123;{#invoke:random|date|''timestamp1''|''timestamp2''|format=''date format''|same=''yes''}}
 
* If no timestamp arguments are specified, the module outputs a random date in the current year.
Line 33 ⟶ 36:
* Formatting can be specified with the {{para|format}} parameter. The default formatting is "hh:mm, DD Month YYYY (UTC)" (the same as the default Wikipedia timestamp).
* The timestamps and the {{para|format}} parameter accept values compatible with the [[mw:Help:Extension:ParserFunctions##time|#time parser function]]. Please see the #time documentation for the full range of possible input values and formatting options.
* If the {{para|same}} parameter is set to "yes", "y", "true", or "1", the same date is returned for each module call on a given page.
 
'''Examples''' <small>({{purge|refresh|anchor=Date}})</small>
Line 41 ⟶ 45:
* <code><nowiki>{{#invoke:random|date|1st January 1500|1st January 3000|format=g:i a, l d M Y}}</nowiki></code> &rarr; {{#invoke:random|date|1st January 1500|1st January 3000|format=g:i a, l d M Y}}
* <code><nowiki>{{#invoke:random|date|1970/06/01}}</nowiki></code> &rarr; {{#invoke:random|date|1970/06/01}}
* <code><nowiki>{{#invoke:random|date|same=yes}}</nowiki></code> &rarr; {{#invoke:random|date|same=yes}}
* <code><nowiki>{{#invoke:random|date|same=yes}}</nowiki></code> &rarr; {{#invoke:random|date|same=yes}}
 
== Item ==
Line 46 ⟶ 52:
The <code>item</code> function outputs a random item from a list.
 
&#123;{#invoke:random|item|''list item 1''|''list item 2''|''list item 3''|...|same=''yes''}}
 
If the {{para|same}} parameter is set to "yes", "y", "true", or "1", the same item is returned for each module call on a given page.
 
'''Example''' <small>({{purge|refresh|anchor=Item}})</small>
 
* <code><nowiki>{{#invoke:random|item|egg|beans|sausage|bacon|spam}}</nowiki></code> &rarr; {{#invoke:random|item|egg|beans|sausage|bacon|spam}}
* <code><nowiki>{{#invoke:random|item|egg|beans|sausage|bacon|spam|same=yes}}</nowiki></code> &rarr; {{#invoke:random|item|egg|beans|sausage|bacon|spam|same=yes}}
* <code><nowiki>{{#invoke:random|item|egg|beans|sausage|bacon|spam|same=yes}}</nowiki></code> &rarr; {{#invoke:random|item|egg|beans|sausage|bacon|spam|same=yes}}
 
== List ==
Line 56 ⟶ 66:
The <code>list</code> function outputs a list in a random order.
 
&#123;{#invoke:random|list|''list item 1''|''list item 2''|''list item 3''|...|sep=''separator''|limit=''number of items to display''|same=''yes''}}
 
'''Named parameters'''
* {{para|sep}} or {{para|separator}} - an optional separator for the list items. Some values are special; see the table below.
* {{para|limit}} - the maximum number of list items to display. The lowest possible is 0 and the highest possible is the length of the list.
* {{para|same}} - if this is set to "yes", "y", "true", or "1", the list order is the same for each module call on a given page.
 
{| class="wikitable"
Line 91 ⟶ 102:
* <code><nowiki>{{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=foo}}</nowiki></code> &rarr; {{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=foo}}
* <code><nowiki>{{#invoke:random|list|egg|beans|sausage|bacon|spam|limit=3}}</nowiki></code> &rarr; {{#invoke:random|list|egg|beans|sausage|bacon|spam|limit=3}}
* <code><nowiki>{{#invoke:random|list|egg|beans|sausage|bacon|spam|same=yes}}</nowiki></code> &rarr; {{#invoke:random|list|egg|beans|sausage|bacon|spam|same=yes}}
* <code><nowiki>{{#invoke:random|list|egg|beans|sausage|bacon|spam|same=yes}}</nowiki></code> &rarr; {{#invoke:random|list|egg|beans|sausage|bacon|spam|same=yes}}
 
== Text list ==
Line 96 ⟶ 109:
The <code>text_list</code> function outputs a list in a random order, text-style. In other words, it is like the <code>list</code> function, but with a different separator before the last item.
 
&#123;{#invoke:random|text_list|''list item 1''|''list item 2''|''list item 3''|...|sep=''separator''|conj=''conjunction''|limit=''number of items to display''|same=''yes''}}
 
The separator can be specified with either the {{para|sep}} or {{para|separator}} parameters; its default value is "{{int:comma-separator}}". The conjunction can be specified with either the {{para|conj}} or {{para|conjunction}} parameters; its default value is " and ". The separator and the conjunction can be specified with the same values as the separator in the [[#List|list function]].
 
The maximum number of list items to display can be set with the {{para|limit}} parameter. The lowest possible is 0 and the highest possible is the length of the list.
 
If the {{para|same}} parameter is set to "yes", "y", "true", or "1", the list order is the same for each module call on a given page.
 
'''Examples''' <small>({{purge|refresh|anchor=Text list}})</small>
Line 108 ⟶ 123:
* <code><nowiki>{{#invoke:random|text_list|egg|beans|sausage|bacon|spam|sep=;&amp;#32;|conj=&amp;#32;or&amp;#32;}}</nowiki></code> &rarr; {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|sep=;&#32;|conj=&#32;or&#32;}}
* <code><nowiki>{{#invoke:random|text_list|egg|beans|sausage|bacon|spam|limit=3}}</nowiki></code> &rarr; {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|limit=3}}
* <code><nowiki>{{#invoke:random|text_list|egg|beans|sausage|bacon|spam|same=yes}}</nowiki></code> &rarr; {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|same=yes}}
* <code><nowiki>{{#invoke:random|text_list|egg|beans|sausage|bacon|spam|same=yes}}</nowiki></code> &rarr; {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|same=yes}}
 
== HTML lists ==
Line 148 ⟶ 165:
; Basic usage
 
&#123;{#invoke:random|''function''|''list item 1''|''list item 2''|''list item 3''|...|limit=''number of items to display''|same=''yes''}}
 
; All parameters
Line 168 ⟶ 185:
 
The maximum number of list items to display can be set with the {{para|limit}} parameter. The lowest possible is 0 and the highest possible is the length of the list.
 
If the {{para|same}} parameter is set to "yes", "y", "true", or "1", the list order is the same for each module call on a given page.
 
Please see [[Module:List]] for a full explanation of the other parameters.