Vai al contenuto

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 [0,1).
  • Con un argomento, restituisce un numero intero nell'intervallo [1,m]. m deve essere positivo.
  • Con due argomenti, restituisce un numero intero nell'intervallo [m,n]. m e n possono essere sia positivi sia negativi. Se m è maggiore di n, restituisce invece un numero intero nell'intervallo [n,m].

Esempi

  • {{#invoke:random|number}} → 0.50126268365479
  • {{#invoke:random|number|100}} → 36
  • {{#invoke:random|number|-100|-50}} → -69

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

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=//}} → cinque · quattro · tre · due · uno
  • {{#invoke:random|list|input=uno{{·}}due{{·}}tre{{·}}quattro{{·}}cinque|splitter={{·}}}} → quattro · tre · uno · due · cinque

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}} → tre · uno · quattro · cinque · due

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, eee, ddd, aaa e bbb
  • {{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|sep=semicolon}} → aaa; bbb; eee; ccc e ddd
  • {{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|conj= oppure }} → eee, ddd, bbb, ccc oppure aaa
  • {{#invoke:random|text_list|aaa|bbb|ccc|ddd|eee|limit=3}} → ccc, ddd e bbb