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.12769491510824
  • {{#invoke:random|number|100}} → 99
  • {{#invoke:random|number|-100|-50}} → -82

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}}
  • 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}} → aaa · bbb · eee · ddd · ccc
  • {{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=none}} → aaadddeeebbbccc
  • {{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=space}} → ccc bbb ddd eee aaa
  • {{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=dot}} → ddd · eee · bbb · ccc · aaa
  • {{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=dash}} → bbb – aaa – eee – ccc – ddd
  • {{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=pipe}} → bbb | ccc | eee | aaa | ddd
  • {{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=comma}} → eee, ddd, bbb, ccc, aaa
  • {{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=semicolon}} → ccc; ddd; eee; aaa; bbb
  • {{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep= * }} → bbb * aaa * ccc * eee * ddd
  • {{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=_}} → ddd_ccc_aaa_bbb_eee
  • {{#invoke:random|list|aaa|bbb|ccc|ddd|eee|sep=xxx}} → aaaxxxeeexxxdddxxxbbbxxxccc
  • {{#invoke:random|list|aaa|bbb|ccc|ddd|eee|limit=3}} → ddd · bbb · ccc

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=//}} → uno · cinque · quattro · tre · due
  • {{#invoke:random|list|input=uno{{·}}due{{·}}tre{{·}}quattro{{·}}cinque|splitter={{·}}}} → tre · uno · quattro · cinque · 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}} → uno · tre · due · quattro · 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}} → ddd, bbb, aaa, ccc e eee
  • {{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|sep=semicolon}} → ccc; bbb; aaa; ddd e eee
  • {{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|conj= oppure }} → eee, ccc, ddd, bbb oppure aaa
  • {{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|limit=3}} → ddd, eee e bbb