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.21562927179766{{#invoke:random|number|100}}
→ 25{{#invoke:random|number|-100|-50}}
→ -84
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}}
→ bbb
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}}
→ eee · bbb · aaa · ccc · ddd{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=none}}
→ aaabbbdddeeeccc{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=space}}
→ eee ccc ddd bbb aaa{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=dot}}
→ ccc · ddd · bbb · aaa · eee{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=dash}}
→ ddd – ccc – eee – bbb – aaa{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=pipe}}
→ ccc | ddd | bbb | aaa | eee{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=comma}}
→ ccc, ddd, bbb, aaa, eee{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=semicolon}}
→ aaa; bbb; ddd; ccc; eee{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep= * }}
→ aaa * bbb * eee * ddd * ccc{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=_}}
→ bbb_eee_ccc_ddd_aaa{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=xxx}}
→ bbbxxxaaaxxxcccxxxdddxxxeee{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|limit=3}}
→ eee · bbb · ddd
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=//}}
→ tre · cinque · quattro · due · uno{{#invoke:random|list|input=uno{{·}}due{{·}}tre{{·}}quattro{{·}}cinque|splitter={{·}}}}
→ quattro · uno · due · cinque · tre
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}}
→ quattro · tre · uno · due · 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, ddd, ccc, aaa e eee{{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|sep=semicolon}}
→ bbb; aaa; eee; ddd e ccc{{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|conj= oppure }}
→ bbb, ddd, aaa, eee oppure ccc{{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|limit=3}}
→ ccc, ddd e eee