Aiuto:Funzioni parser: differenze tra le versioni
m typo |
m commento § su installazione: imho fuorviante (installazione gia` fatta per it.wiki) |
||
Riga 131: | Riga 131: | ||
==Numeri== |
==Numeri== |
||
Nelle espressioni è consentito usare il punto decimale, e i numeri non interi restituiti dalle espressioni hanno un punto decimale. Le virgole non sono né accettate in ''input'', né prodotte in ''output''. Questo è valido anche se <nowiki>{{NUMBEROFARTICLES}}</nowiki> usa la virgola per le migliaia, e in alcune versioni locali di MediaWiki il punto. |
Nelle espressioni è consentito usare il punto decimale, e i numeri non interi restituiti dalle espressioni hanno un punto decimale. Le virgole non sono né accettate in ''input'', né prodotte in ''output''. Questo è valido anche se <nowiki>{{NUMBEROFARTICLES}}</nowiki> usa la virgola per le migliaia, e in alcune versioni locali di MediaWiki il punto. |
||
<!-- TESTO COMMENTATO |
|||
== Installazione == |
== Installazione == |
||
Riga 146: | Riga 146: | ||
* [http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/ParserFunctions/ ParserFunctions in MediaWiki SVN] |
* [http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/ParserFunctions/ ParserFunctions in MediaWiki SVN] |
||
FINE TESTO COMMENTATO --> |
|||
== Collegamenti esterni == |
== Collegamenti esterni == |
||
* {{en}} [http://mail.wikipedia.org/pipermail/wikitech-l/2006-April/thread.html#34685 La discussione sulle ParserFunctions nell'archivio della lista Wikitech-l] |
* {{en}} [http://mail.wikipedia.org/pipermail/wikitech-l/2006-April/thread.html#34685 La discussione sulle ParserFunctions nell'archivio della lista Wikitech-l] |
Versione delle 15:10, 18 apr 2006
Questa estensione MediaWiki è una raccolta di funzioni parser. Sintassi:
- {{#functionname: argomento 1 | argomento 2 | argomento 3...}}
Questa estensione supporta tra funzioni: expr, if, ifeq, ifexpr e rand.
expr
La funzione expr elabora operazioni matematiche. Gli operatori supportati (in ordine di precedenza) sono:
Operatore Operazione Esempio * Moltiplicazione {{#expr: 30 * 7}} = 210 / or div Divisione {{#expr: 30 / 7}} = 4.2857142857143 + Addizione {{#expr: 30 + 7}} = 37 - Sottrazione (o negazione) {{#expr: 30 - 7}} = 23 mod Modulo, restituisce il resto di una divisione {{#expr: 30 mod 7}} = 2 round Arrotonda il numero a sinistra con il numero
di cifre decimali indicato dal numero a destra{{#expr: 30 / 7 round 7}} = 4.2857143 = Uguaglianza {{#expr: 30 = 7}} = 0 <> or != Disuguaglianza {{#expr: 30 <> 7}} = 1 < Minore {{#expr: 30 < 7}} = 0 > Maggiore {{#expr: 30 > 7}} = 1 <= Minore o uguale {{#expr: 30 <= 7}} = 0 >= Maggiore o uguale {{#expr: 30 >= 7}} = 1 and AND logico {{#expr: 30 and 7}} = 1 or OR logico {{#expr: 30 or 7}} = 1 not NOT logico {{#expr: not 7}} = 0 ( ) Parentesi {{#expr: (30 + 7) * 7 }} = 259
Gli operatori booleani considerano 0 come falso e 1 come vero.
Esempio:
{{ #expr: (100 - 32) / 9 * 5 round 0 }}
restituisce:
38
che è 100°F in °C, arrotondato al numero intero più vicino.
if
La funzione if è un costrutto if-then-else construct. Sintassi:
{{ #if: <condizione> | <allora testo> | <altrimenti testo> }}
Se la condizione consiste in una stringa vuota o uno spazio bianco, allora è considerata falsa, e viene restituito altrimenti testo. Altrimenti, viene restituito allora testo. altrimenti testo può essere omesso: in tale caso il risultato sarà vouto se l'espressione è falsa.
Esempio:
{{Template|parametro=qualcosa}} {{Template}} {{Template|parametro=}} | | | | | | | | | {{ #if: {{{parametro|}}} | Parametro è indicato. | Parametro non è indicato, o è vuoto. }}
Notare che la funzione if non supporta il segno "=" o espressioni matematiche. {{#if: 1 = 2|sì|no}} restituirà "sì", perché la stringa "1 = 2" non è vuota. La funzione if è intesa come una funzione if defined. Per confrontare delle stringhe, usa ifeq. Per confrontare numeri, usa ifexpr.
ifeq
La funzione ifeq confronta due stringhe, e ritorna un'altra stringa che dipende dal risultato del confronto. Sintassi:
{{ #ifeq: <testo 1> | <testo 2> | <se sono uguali restituisce questo> | <altrimenti questo> }}
ifexpr
La funzione ifexpr risolve un'espressione matematica e restituisce un testo sulla base del risultato.
{{ #ifexpr: <espressione> | <allora testo> | <altrimenti testo> }}
Se l'espressione risulta 0, allora viene restituito altrimenti testo, in caso contrario viene restituito allora testo. La sintassi delle espressioni è la stessa di expr.
rand
La funzione rand restituisce un numero casuale entro dei limiti.
{{ #rand: <minimo> | <massimo> }}
Il numero cambierà soltanto quando si modifica la pagina in cui è presente.
Numeri
Nelle espressioni è consentito usare il punto decimale, e i numeri non interi restituiti dalle espressioni hanno un punto decimale. Le virgole non sono né accettate in input, né prodotte in output. Questo è valido anche se {{NUMBEROFARTICLES}} usa la virgola per le migliaia, e in alcune versioni locali di MediaWiki il punto.