Përdoruesi:Euriditi/Funksionet Parster
Treguesi i përmbajtjes | Lart # 0-9 A B C Ç D DH E Ë F G GJ H I J K L LL M N NJ O P Q R RR S SH T TH U V W X XH Y Z ZH Shiko edhe |
Questa pagina descrive le funzioni parser che possono essere inserite nel wikicodice per elaborare stringhe e numeri. Sono utili in particolare nella creazione di template.
Alcune sono fornite dall'estensione MediaWiki ParserFunctions e hanno sintassi:
- {{#nomefunzione: argomento 1 | argomento 2 | argomento 3...}}
Altre sono funzioni base di MediaWiki e generalmente hanno sintassi:
- {{nomefunzione: argomento }}
expr
[Redakto | Redakto nëpërmjet kodit]La funzione expr
elabora operazioni matematiche. Gli operatori supportati (in ordine di precedenza) sono:
Operatore Operazione Esempio * Moltiplicazione {{#expr: 30 * 7}} = 210 / oppure 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 6}} = 4.285714 = Uguaglianza {{#expr: 30 = 7}} = 0 <> oppure != 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
I numeri devono essere inseriti in notazione informatica, senza separatori di migliaia e con il punto come separatore decimale, ad es. 12345.67
; vengono restituiti allo stesso modo in uscita.
Gli operatori booleani considerano 0 come falso e ogni numero diverso da zero come vero. In uscita il vero viene restituito come 1.
Esempio:
{{ #expr: (100 - 32) / 9 * 5 round 0 }}
restituisce:
38
che è 100 °F in °C, arrotondato al numero intero più vicino.
La funzione if
è un costrutto if-then-else. 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. In caso contrario, viene restituito allora testo. altrimenti testo può essere omesso: in tale caso il risultato sarà vuoto 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
[Redakto | Redakto nëpërmjet kodit]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> }}
iferror
[Redakto | Redakto nëpërmjet kodit]La funzione iferror
prende in ingresso una stringa e restituisce un'altra stringa delle due possibili; l'uscita dipende dalla stringa in ingresso, se questa contiene un oggetto HTML con class="error"
(che può essere generato da altre funzioni parser come #expr
e #time
oppure da template) viene restituita la prima, altrimenti la seconda.
{{ #iferror: <stringa> | <se la stringa restituisce un errore> | <se la stringa è corretta> }}
Una o entrambe le stringhe in uscita possono essere messe. Se viene omessa la stringa da scrivere in caso la stringa in ingresso sia esatta allora viene restituito il valore della stringa in ingresso. Se viene omessa la stringa da scrivere in caso la stringa in ingresso sia errata allora in uscita viene restituita una stringa vuota:
{{#iferror: {{#expr: 1 + 2 }} | errore | corretta }}
→ corretta{{#iferror: {{#expr: 1 + X }} | errore | corretta }}
→ errore{{#iferror: {{#expr: 1 + 2 }} | errore }}
→ 3{{#iferror: {{#expr: 1 + X }} | errore }}
→ errore{{#iferror: {{#expr: 1 + 2 }} }}
→ 3{{#iferror: {{#expr: 1 + X }} }}
→ {{#iferror: <strong class="error">a</strong> | errore | corretta }}
→ errore
ifexpr
[Redakto | Redakto nëpërmjet kodit]La funzione ifexpr
risolve un'espressione matematica e restituisce un testo sulla base del risultato.
{{ #ifexpr: <espressione> | <allora testo> | <altrimenti testo> }}
Se l'espressione non venisse soddisfatta, allora viene restituito altrimenti testo, in caso contrario viene restituito allora testo. La sintassi delle espressioni è la stessa di expr
.
ifexist
[Redakto | Redakto nëpërmjet kodit]ifexist
restituisce uno dei due risultati, basandosi sull'esistenza o meno di una data pagina.
{{#ifexist:Biologia|La voce [[biologia]] esiste!|La voce [[biologia]] non esiste.}}
restituisce La voce biologia non esiste. perché biologia non esiste.{{#ifexist:Aiuto:ParserFunctions|Sì|No}}
restituisce No.{{#ifexist:m:Help:Calculation|Sì|Oops}}
restituisce Oops sebbene m:Help:Calculation esista, a causa del prefisso di interwiki.
Il primo parametro è il titolo da cercare, il secondo è il risultato da restituire se la pagina esiste e il terzo è il risultato da restituire se la pagina non esiste. Se il primo parametro non è un titolo valido, la funzione restituisce il risultato negativo.
switch
[Redakto | Redakto nëpërmjet kodit]La funzione switch
confronta una stringa con altre, restituendo una data stringa se trova una corrispondenza. Sintassi:
{{ #switch: <valore di confronto> | <valore1>=<risultato1> | <valore2>=<risultato2> | ... | <valoren>=<risultaton> | <risultato di default> }}
switch
cercherà tra tutti i valori dati finché non trova una corrispondenza. Quando la corrispondenza viene trovata, viene restituito il risultato assegnato a tale valore (il testo dopo il segno di uguale). Se non viene trovata alcuna corrispondenza, ma l'ultimo elemento non ha il segno di uguale, verrà restituito come valore di default.
È anche possibile assegnare un risultato a più valori, evitando di duplicare testo. Per esempio:
{{ #switch: <valore di confronto> | <valore1> | <valore2> | <valore3>=<risultato3> | ... | <valoren>=<risultaton> | <risultato di default> }}
Nota che valore1 e valore2 non contengono il simbolo uguale. Se si trovasse una corrispondenza con essi, verrebbe restituito il risultato assegnato a valore3 (risultato3).
Formattazione
[Redakto | Redakto nëpërmjet kodit]Maiuscole e minuscole
[Redakto | Redakto nëpërmjet kodit]riassunto veloce:
- Prima maiuscola:
{{ucfirst:}}
-Euriditi/Funksionet Parster
- prima minuscola:
{{lcfirst:}}
-euriditi/Funksionet Parster
- TUTTO MAIUSCOLO:
{{uc:}}
-EURIDITI/FUNKSIONET PARSTER
- tutto minuscolo:
{{lc:}}
-euriditi/funksionet parster
Acronimo di lower case (tutto minuscolo): trasforma un testo in caratteri minuscoli.
Con {{lc:AbCdEf}} si ottiene abcdef.
Con {{lc:Ä Β Ç}} si ottiene ä β ç, atteso ä β ç.
Acronimo di upper case (tutto maiuscolo): trasforma un testo in caratteri maiuscoli.
Con {{uc:AbCdEf}} si ottiene ABCDEF.
Con {{uc:ä β ß}} si ottiene Ä Β SS.
lcfirst
[Redakto | Redakto nëpërmjet kodit]Acronimo di lower case first (prima minuscola): trasforma in minuscolo il primo carattere di un testo: con {{lcfirst:Ab Cd}} si ottiene ab Cd.
ucfirst
[Redakto | Redakto nëpërmjet kodit]Acronimo di upper case first (prima maiuscola): trasforma in maiuscolo il primo carattere di un testo: con {{ucfirst:aB cD}} si ottiene AB cD.
urlencode
[Redakto | Redakto nëpërmjet kodit]Converte il testo in formato compatibile con URL sostituendo gli spazi con "+" e gli altri caratteri di formattazione url coi loro equivalenti: con {{urlencode:hello world ?&=#/:}} si ottiene hello+world+%3F%26%3D%23%2F%3A.
formatnum
[Redakto | Redakto nëpërmjet kodit]Aggiunge la virgola dei decimali e i separatori delle migliaia a un numero puro (con soltanto il punto per i decimali, come quelli restituiti da expr).
Con {{formatnum:1234.56}}
si ottiene 1.234,56
E' possibile fare l'operazione contraria aggiungendo R come secondo parametro.
padleft
[Redakto | Redakto nëpërmjet kodit]Aggiunge dei caratteri di riempimento sulla sinistra, rendendo la stringa di lunghezza fissa. Sintassi:
- {{padleft: stringa | lunghezza | riempimento (default "0") }}
Con {{padleft:ciao|10|-}}
si ottiene ------ciao
padright
ha lo stesso effetto ma rempie il lato destro.
padleft può essere sfruttato per ottenere i primi N caratteri di una stringa: con {{padleft:|3|Ciccio}}
si ottiene Cic
time
[Redakto | Redakto nëpërmjet kodit]La funzione time
è un costrutto per la formattazione del tempo. Sintassi:
{{ #time: formato }}
o
{{ #time: formato | time }}
Se non è specificato un valore per time viene usata la data e ora della conversione in HTML della pagina. Attenzione che a causa del meccanismo di caching questo valore può differire notevolmente dal momento in cui la pagina viene visualizzata. Per aggiornare il valore è necessario salvare la pagina (senza averla modificata, ovvero facendo un "edit nullo"), o visualizzarla richiedendo la ripulitura della cache ( &action=purge aggiunto all'url) oppure selezionare l'opzione che disabilita il caching delle pagine nelle proprie preferenze.
Parametro formato
[Redakto | Redakto nëpërmjet kodit]Il parametro formato è una stringa che utilizza una sintassi simile a quella usata nelle date in PHP [1].
formato veloce
{{#timel:j F Y}}
-15 dhjetor 2024
{{#timel: |Y-m-d}}
-2024-12-15
{{#timel:l j F Y G:s}}
-E diel 15 dhjetor 2024 21:07
{{#timel:D j M Y h:s a}}
-Die 15 dhj 2024 09:07 pm
{{#timel: |Y-m-d H:s}}
-2024-12-15 21:07
Parametro | Descrizione | output equivalente con | Variabili equivalenti | ||
---|---|---|---|---|---|
#time | #timel | Orario UTC | Orario locale | ||
Anno | |||||
Y | in 4 cifre | 2024 | 2024 | {{CURRENTYEAR}} | {{LOCALYEAR}} |
y | in 2 cifre | 24 | 24 | - | - |
L | 1 se bisestile, 0 altrimenti | 1 | 1 | - | - |
Mese | |||||
F | Nome completo | dhjetor | dhjetor | {{CURRENTMONTHNAME}} | {{LOCALMONTHNAME}} |
M | Nome abbreviato | dhj | dhj | {{CURRENTMONTHABBREV}} | {{LOCALMONTHABBREV}} |
m | Numero del mese (01 - 12) | 12 | 12 | {{CURRENTMONTH}} | {{LOCALTMONTH}} |
n | Numero del mese (1 - 12) | 12 | 12 | ||
t | Numero di giorni del mese | 31 | {{#time-:t}} | ||
Giorno | |||||
d | Giorno del mese (01 - 31). |
15 | 15 | {{CURRENTDAY2}} | {{LOCALDAY2}} |
j | Giorno del mese (1 - 31). | 15 | 15 | {{CURRENTDAY}} | {{LOCALDAY}} |
z | Giorno dell'anno (1 - 365) | 349 | 349 | ||
l | Nome completo | E diel | E diel | {{CURRENTDAYNAME}} | {{LOCALDAYNAME}} |
D | Nome abbreviato | Die | Die | ||
N | Giorno della settimana ISO 8601 (1 (Lunedì) - 7 (Domenica)) |
7 | 7 | {{CURRENTWEEK}} | {{LOCALWEEK}} |
w | Giorno della settimana (0 (Domenica) - 6 (Sabato)) |
0 | 0 | ||
Settimane | |||||
W | Settimana dell'anno (1 - 52) |
50 | 50 | {{CURRENTWEEK}} | {{LOCALWEEK}} |
Orario | |||||
H:s | Ora:minuti (00:00 - 23:59) | 20:07 | 21:07 | {{CURRENTTIME}} | {{LOCALTIME}} |
H | Ora formato 24 ore (00 - 23) | 20 | 21 | {{CURRENTHOUR}} | {{LOCALHOUR}} |
G | Ora formato 24 ore (0 - 23) | 20 | 21 | ||
h | Ora formato 12 ore (01 - 12) | 08 | 09 | ||
g | Ora formato 12ore (1 - 23) | 8 | 9 | ||
a | am o pm | pm | pm | ||
A | AM o PM | PM | PM | ||
i | Il minuto (00 - 59) | 04 | 04 | ||
s | Il secondo (00 - 59) | 07 | 07 |
I caratteri non riconosciuti vengono lasciati inalterati. Esistono due tecniche per evitare l'elaborazione di caratteri inseriti in stringhe di descrizione:
- racchiudere gli stessi fra doppi apici (i singoli apici non verranno considerati)
- Corretto: {{ #time: "Attualmente è" F}} → Attualmente è dhjetor
- Errato: {{ #time: Attualmente è F}} → PM3131upmE diel12UTC1231UTC è dhjetor
- Singoli apici: {{ #time:G:i's"}} → 20:04'07"
- Utilizzare il carattere di escape "\".
- {{ #time:\H}} → H
- {{ #time:\"}} → "
Parametro time
[Redakto | Redakto nëpërmjet kodit]Il formato del parametro time è identico a quello usato dalla funzione PHP strtotime(). Supporta date sia assolute sia relative. Le date devono essere espresse in formato inglese ovvero "December 11" e non "11 Dicembre" e "+10 hours" e non "+10 ore". Questa caratteristica può essere usata per la gestione delle "timezone" ovvero per la conversione dall'orario UTC usato per default all'orario CET o CEST usato in Italia. Per ulteriori informazioni vedere the GNU tar manual.
Esempi
[Redakto | Redakto nëpërmjet kodit]- {{#time:G:i's"|+1 hours}} → 21:04'07" restituisce l'ora CET (ora solare)
- {{#time:G:i's"|+2 hours}} → 22:04'07" restituisce l'ora CEST (ora legale)
- {{#time:j F Y|-14 days}} restituisce 1 dhjetor 2024 (14 giorni fa)
- {{#time:H:i|+6 hours}} restituisce 02:04 (6 ore più UTC)
- {{#time:H:i|8:15 +6 hours}} restituisce 14:15
- {{#time:m/Y|-1 months}} restituisce 11/2024 (1 mese fa)
- {{#time:m/Y|11 dicembre}} restituisce Gabim: kohë e pavlefshme (11 dicembre)
- {{#time:m/Y|December 11}} restituisce 12/2024 (11 dicembre)
Intervallo di validità
[Redakto | Redakto nëpërmjet kodit]Stampa:Vedi anche L'intervallo di date che vengono correttamente gestite da questa funzione va dal 1970-1-1 00:00:01 fino al 2038-1-19 03:14:07 (da 1 a secondi dall'inizio del 1970).
Pagine correlate
[Redakto | Redakto nëpërmjet kodit]Altri progetti
[Redakto | Redakto nëpërmjet kodit]Per informazioni tecniche complete e aggiornate vedi le pagine su mediawiki.org (in inglese):
- Gabim i përfshirjes: {{En}} është vetëm për emërhapësirën e Skeda. Përdorni më mirë {{lang-en}} ose {{in lang|en}}. mw:Help:Extension:ParserFunctions
- Gabim i përfshirjes: {{En}} është vetëm për emërhapësirën e Skeda. Përdorni më mirë {{lang-en}} ose {{in lang|en}}. mw:Help:Magic words#Parser functions
Collegamenti esterni
[Redakto | Redakto nëpërmjet kodit]- Gabim i përfshirjes: {{En}} është vetëm për emërhapësirën e Skeda. Përdorni më mirë {{lang-en}} ose {{in lang|en}}. La discussione sulle ParserFunctions nell'archivio della lista Wikitech-l
[[Categoria:Guide tecniche e glossari (aiuto)|Funzioni parser]] [[de:Hilfe:Vorlagenprogrammierung]] [[dsb:Pomoc:Pśedłogowe programowanje]] [[en:Help:Magic words#Parser functions]] [[fr:Aide:Fonctions parseur]] [[hsb:Pomoc:Předłohowe programowanje]] [[ja:Help:条件文]] [[ko:위키백과:특수 함수]] [[nl:Help:Parserfuncties]] [[pl:Pomoc:Funkcje parsera]] [[ru:Википедия:Функции парсера]] [[sl:Pomoč:ParserFunctions]] [[uk:Довідка:Парсерні функції]] [[vi:Trợ giúp:Tính toán]] [[zh:Help:解析器函数]]