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.

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.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).

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.

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