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 .
mdeve essere positivo. - Con due argomenti, restituisce un numero intero nell'intervallo .
menpossono essere sia positivi sia negativi. Semè maggiore din, restituisce invece un numero intero nell'intervallo .
Esempi
{{#invoke:random|number}}→ 0.63672543719258{{#invoke:random|number|100}}→ 80{{#invoke:random|number|-100|-50}}→ -63
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}}→ aaa
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}}
seposeparator- 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}}→ ccc · ddd · aaa · bbb · eee{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=none}}→ eeedddbbbcccaaa{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=space}}→ bbb aaa eee ccc ddd{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=dot}}→ bbb · ccc · ddd · aaa · eee{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=dash}}→ eee – aaa – bbb – ccc – ddd{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=pipe}}→ ddd | ccc | eee | aaa | bbb{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=comma}}→ ccc, bbb, eee, aaa, ddd{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=semicolon}}→ ddd; ccc; eee; aaa; bbb{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep= * }}→ bbb * aaa * ccc * ddd * eee{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=_}}→ eee_ccc_aaa_ddd_bbb{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=xxx}}→ cccxxxbbbxxxeeexxxaaaxxxddd{{#invoke:random|list|aaa|bbb|ccc|ddd|eee|limit=3}}→ aaa · ccc · 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=//}}→ uno · tre · quattro · cinque · due{{#invoke:random|list|input=uno{{·}}due{{·}}tre{{·}}quattro{{·}}cinque|splitter={{·}}}}→ due · quattro · cinque · uno · 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 · cinque · due · uno · tre
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}}→ ddd, ccc, bbb, eee e aaa{{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|sep=semicolon}}→ bbb; ddd; eee; aaa e ccc{{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|conj= oppure }}→ eee, aaa, bbb, ddd oppure ccc{{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|limit=3}}→ eee, ddd e bbb