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
modificaLa 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
modificaLa 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
modificaLa 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
modificaLa 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