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