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

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}} → 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

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