Modulo:Random/man

Da Wikiquote, aforismi e citazioni in libertà.

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 e n possono essere sia positivi sia negativi. Se m è maggiore di n, 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 o separator - 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).
Separatori predefiniti
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 parametro splitter.
  • 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