Modulo:Random/man
Questa è la pagina di documentazione per Modulo:Random
Questo modulo Lua gestisce le funzioni del template {{random}}. Può fornire numeri casuali, selezionare un elemento casuale da una lista, riordinare totalmente o parzialmente una lista in modo casuale e visualizzarla con diversi formati. Le funzioni disponibili sono meglio descritte nelle sezioni seguenti.
Number
[modifica]La funzione number
(numero) restituisce un numero casuale.
{{#invoke:random|number|m|n}}
- oppure, tramite il template
{{random|output=number|m|n}}
Gli argomenti m
e n
sono opzionali e possono essere omessi; se specificati devono poter essere convertiti in numeri interi.
- Senza argomenti, restituisce un numero reale nell'intervallo .
- Con un argomento, restituisce un numero intero nell'intervallo .
m
deve essere positivo. - Con due argomenti, restituisce un numero intero nell'intervallo .
m
en
possono essere sia positivi sia negativi. Sem
è maggiore din
, restituisce invece un numero intero nell'intervallo .
Esempi
{{#invoke:random|number}}
→ 0.062023062753502{{#invoke:random|number|100}}
→ 44{{#invoke:random|number|-100|-50}}
→ -98
La documentazione per questa funzione è in parte tratta da (EN) Scribunto Lua reference manual, basato su Lua 5.1 Reference Manual, disponibile sotto licenza MIT (Massachusetts Institute of Technology).
Item
[modifica]La funzione item
(elemento) restituisce un elemento casuale di una lista.
{{#invoke:random|item|elemento 1|elemento 2|elemento 3|...}}
- oppure, tramite il template
{{random|output=item|elemento 1|elemento 2|elemento 3|...}}
Esempi
{{#invoke:random|item|aaa|bbb|ccc|ddd|eee}}
→ ccc
La lista di elementi in ingresso può essere specificata anche tramite i parametri input
e splitter
, analogamente a quanto specificato per la funzione list.
List
[modifica]La funzione list
(lista) restituisce una lista riordinata in modo casuale.
Parametri nominali
[modifica]{{#invoke:random|list|elemento 1|elemento 2|elemento 3|...|sep=separatore|limit=numero di elementi da visualizzare}}
- oppure, tramite il template
{{random|output=list|elemento 1|elemento 2|elemento 3|...|sep=separatore|limit=numero di elementi da visualizzare}}
sep
oseparator
- eventuale separatore per gli elementi della lista. È possibile utilizzare dei valori predefiniti per particolari separatori, vedere la tabella seguente.limit
- numero di elementi da visualizzare; valore minimo = 0; valore massimo = numero totale di elementi della lista (valore predefinito).
Codice | Risultato |
---|---|
none |
nessuno spazio |
space |
spazio |
dot |
· |
dash |
– |
pipe |
| |
comma |
, |
semicolon |
; |
altri valori | qualsiasi altro valore di testo viene riportato tale e quale |
A causa di limitazioni tecniche nel software MediaWiki, non è possibile inserire direttamente spazi vuoti per il parametro separatore. In alternativa utilizzare il valore space (vedere tabella precedente) oppure  
per uno spazio normale, e
per uno spazio indivisibile (non-breaking space).
Esempi
{{#invoke:random|list|aaa|bbb|ccc|ddd|eee}}
→ bbb · aaa · ddd · ccc · eee{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=none}}
→ ccceeeaaabbbddd{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=space}}
→ eee ddd ccc aaa bbb{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=dot}}
→ aaa · ccc · bbb · ddd · eee{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=dash}}
→ bbb – eee – ccc – ddd – aaa{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=pipe}}
→ bbb | aaa | ddd | ccc | eee{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=comma}}
→ ddd, aaa, bbb, eee, ccc{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=semicolon}}
→ ccc; ddd; eee; bbb; aaa{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep= * }}
→ bbb * eee * ccc * aaa * ddd{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=_}}
→ aaa_eee_ccc_bbb_ddd{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=xxx}}
→ cccxxxdddxxxeeexxxaaaxxxbbb{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|limit=3}}
→ bbb · ccc · aaa
Nota
- Se non diversamente specificato, il separatore di default è " · " (dot, vedere tabella precedente).
Parametri nominali avanzati
[modifica]{{#invoke:random|list|input=elemento 1, elemento 2, elemento 3...|splitter=,}}
- oppure, tramite il template
{{random|output=list|input=elemento 1, elemento 2, elemento 3...|splitter=,}}
input
- eventuale lista di elementi in ingresso scritta in forma testuale. È possibile specificare in modo compatto una lista di elementi in ingresso che verranno suddivisi e separati tramite il parametrosplitter
.splitter
- separatore per gli elementi della lista d'ingresso. È possibile utilizzare ad esempio la virgola (",") o qualsiasi altro carattere o gruppo di caratteri (es. "//"), oppure il template {{·}}, ecc.
Esempi
{{#invoke:random|list|input=uno // due // tre // quattro // cinque|splitter=//}}
→ quattro · tre · due · cinque · uno{{#invoke:random|list|input=uno{{·}}due{{·}}tre{{·}}quattro{{·}}cinque|splitter={{·}}}}
→ uno · due · tre · quattro · cinque
Nota
- Il template {{random}} imposta, per le liste in ingresso, il separatore di default " · " (ottenuto tramite il template {{·}}).
{{random|output=list|input=uno{{·}}due{{·}}tre{{·}}quattro{{·}}cinque}}
→ due · tre · quattro · uno · cinque
Text list
[modifica]La funzione text_list
(lista testuale) restituisce una lista riordinata in modo casuale, formattata per essere inserita in un testo. In altre parole, è simile alla funzione list
ma con un separatore differente per l'ultimo elemento della lista.
{{#invoke:random|text_list|elemento 1|elemento 2|elemento 3|...|sep=separatore|conj=congiunzione finale|limit=numero di elementi da visualizzare}}
- oppure, tramite il template
{{random|output=text_list|elemento 1|elemento 2|elemento 3|...|sep=separatore|conj=congiunzione finale|limit=numero di elementi da visualizzare}}
Il separatore può essere specificato tramite il parametro sep
o separator
; il valore di default è ", " (vedere MediaWiki:comma-separator). La congiunzione finale può essere specificata tramite il parametro conj
o conjunction
; il valore di default è " e " (vedere MediaWiki:and e MediaWiki:word-separator). Separatore e congiunzione finale possono essere specificati con gli stessi valori speciali definiti per la funzione list.
La lista di elementi in ingresso può essere specificata anche tramite i parametri input
e splitter
, analogamente a quanto specificato per la funzione list.
Il numero massimo di elementi da visualizzare può essere impostato con il parametro limit
; valore minimo = 0; valore massimo = numero totale di elementi della lista (valore predefinito).
Esempi
{{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee}}
→ bbb, aaa, eee, ccc e ddd{{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|sep=semicolon}}
→ ccc; bbb; aaa; ddd e eee{{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|conj= oppure }}
→ aaa, eee, ccc, ddd oppure bbb{{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|limit=3}}
→ ddd, ccc e eee