Discussioni aiuto:Funzioni parser

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Uso di ifeq per verifiche simultanee su due stringhe[modifica wikitesto]

Mi è capitato, in un template, di dover fare una verifica contemporanea su due parametri, del tipo: "se a è pippo e b è pluto scrivi questo, in tutti gli altri casi scrivi quello".

Con le funzioni parser disponibili ho trovato questo escamotage:

{{#ifeq: {{#ifeq:{{{a}}}|pippo|true|false1}} | {{#ifeq:{{{b}}}|pluto|true|false2}} | questo | quello }}

Ho usato i risultati false1 e false2 per fare in modo che la risposta sia questo se e solo se entrambe le verifiche interne sono vere: se avessi usato lo stesso false il controllo avrebbe restituito "vero" anche con entrambe le verifiche interne non vere.

Qualcuno ha una soluzione più elegante? -- Marco Bernardini (msg) 10:20, 3 apr 2009 (CEST)[rispondi]

Sulla minore o maggiore "eleganza" non so esprimermi, ma credo di essere riuscito ad ottenere quello che volevi anche con questa sequenza.
{{#ifexpr: {{#ifeq:{{{a}}}|pippo|1|0}} and {{#ifeq:{{{b}}}|pluto|1|0}}| vero| falso }}
PersOnLine 11:18, 3 apr 2009 (CEST)[rispondi]
Ottima soluzione! Ci avevo provato ma non ci ero riuscito, ed ora ho anche capito dove avevo sbagliato: non avevo inserito i risultati 1 e 0 negli ifeq interni, ottenendo un "Errore nell'espressione: operatore and inatteso" :-( Marco Bernardini (msg) 11:47, 3 apr 2009 (CEST)[rispondi]

Attivazione funzioni sulle stringhe[modifica wikitesto]

Vorrei richiedere l'attivazione delle funzioni per la manipolazione delle stringhe (vedi qui). Avrei la necessità di usare tali funzioni per creare un sistema di categorizzazione automatica delle voci basandomi sul titolo. Ovviamente queste funzioni possono risultare utili anche in futuro ad altri sviluppatori :) Siete d'accordo per l'attivazione? Prima di fare richiesta su Bugzilla è necessario il consenso della comunità --Mauro742 (msg) 12:26, 17 set 2009 (CEST) Ritiro tutto: se ne è discusso per mesi su bugzilla ed è stato deciso che non verranno attivate --Mauro742 (msg) 13:43, 17 set 2009 (CEST) *+1 Lusum scrivi!! 13:43, 17 set 2009 (CEST) [rispondi]

Sarebbe bello se non ci fossero errori in una pagina d'aiuto... --Martin (scrivimi) 22:18, 9 ago 2016 (CEST)[rispondi]

Già, sarebbe bello. --Horcrux九十二 01:22, 11 ago 2016 (CEST)[rispondi]
No, sul serio, perché c'è un errore nel "time"? [@ Horcrux92] Martin (scrivimi) 16:04, 11 ago 2016 (CEST)[rispondi]
Sul serio, in genere quando si segnala un problema si è espliciti e specifici, e non lo si fa in forma di lamentela :). Esempio di richiesta corretta:
Ho notato che tra gli esempi di utilizzo del parametro "time" dell'omonima funzione è presente un errore: qualcuno sa a cosa è dovuto?
Tornando a noi, qui ho notato lo stesso avviso rosso, quindi evidentemente l'errore non è nel manuale, ma semplicemente non è più supportata la funzionalità multilingua in input. Provo a vedere se è stata aperta qualche richiesta su Phabricator. --Horcrux九十二 16:57, 11 ago 2016 (CEST)[rispondi]
Correggo: il manuale dice esplicitamente che "Le date devono essere espresse in formato inglese", quindi l'errore è meramente dimostrativo. --Horcrux九十二 17:05, 11 ago 2016 (CEST)[rispondi]
Grazie, non credevo fosse un problema, son stato poco chiaro, cioè, s come si fa una richiesta corretta, solo che pensavo fosse abbastanza avidenta da scherzarci un po', se fosse stato importante non l'avrei scritto così, grazie comunque per tutto, non creerò più problemi del genere su wikipedia, solo che se non ironizzo un po', poi mi annoio, mica siam tutti degli automi, cmq non importa, son cose mie, eviterò di dare fastidio d'ora in poi... [@ Horcrux92] Martin (scrivimi) 23:13, 11 ago 2016 (CEST)[rispondi]
Forse è colpa mia, ma ho colto più sarcasmo che ironia. Comunque è anche una questione pratica: più sei chiaro tu e meno ci mette chi ti risponde (non che fosse inarrivabile come "domanda", ma tant'è). --Horcrux九十二 23:21, 11 ago 2016 (CEST)[rispondi]

Argomenti non strettamente numerici a formatnum[modifica wikitesto]

Per motivi storici, la funzione formatnum accetta anche argomenti non numerici, i quali vengono grossomodo ignorati. Questa caratteristica è stata deprecata dagli sviluppatori di MediaWiki qualche tempo fa, e tali utilizzi della funzione vengono categorizzati in Categoria:Pagine con argomenti di formatnum non numerici. A mio avviso questa pagina di aiuto non dovrebbe incoraggiare un tale utilizzo. Propongo quindi di precisare esplicitamente che tutti i caratteri non numerici (eccetto il punto) vanno inseriti esternamente al formatnum, che deve servire solo per formattare un numero. Dato il funzionamento interno del parser, le note dentro al formatnum vengono ignorate e non generano errori (non so se intenzionalmente). Mi chiedo quindi anche se il manuale debba vietare o solo scoraggiare la presenza di note all'interno del formatnum. Notare che qui si parla solamente degli utilizzi diretti del formatnum. Gli utilizzi indiretti (ad esempio parametri di template che applicano il formatnum automaticamente) non sono coperti da questa linea guida, perché il fatto che un dato template utilizzi il formatnum è un dettaglio di implementazione di cui l'utente non deve preoccuparsi. Per completezza, vedere il mio tentativo precedente di modifica, e discussione con Bultro, che pingo. --Daimona Eaytoy (Scrivimi!) 14:49, 17 apr 2022 (CEST)[rispondi]

Se non ho capito male, facendo come dice Daymona nel caso di stringhe miste bisognerebbe applicare il wikicodice separatamente alle varie parti, numeriche e non, della stringa perchè se lo si fa fare a formatnum crea una categoria di errore e Bultro oppone il fatto che è una fatica inutile perchè a parte casi minoritari non ci sono problemi di layout e ed è più semplice far fare il lavoro al formatnum. Credo sarebbe utilissimo, se è possibile, sapere del perchè è stata creata la categoria di errore, ovverosia se è nei piani degli sviluppatori, rendere formatnum in futuro meno flessibile, e che quindi alla fine saremo costretti comunque a sistemare tutti i formatnum usati "male". Per le note, si può sconsigliare, sempre per prudenza, per lo stesso motivo, per evitare, di nuovo, che se cambiano il funzionamento o implementano una categoria di errore ci troveremo una categoria stracolma o peggio saremo costretti a tirare tutte le note da fuori i formatnum--Pierpao (listening) 15:37, 17 apr 2022 (CEST)[rispondi]
[@ Pierpao] Hai capito bene, ma onestamente non mi aspetto molti casi in cui si debba applicare il formatnum separatamente alle diverse parti. Più spesso penso basti spostare formattazione e altri elementi estranei fuori dal formatnum. Sui piani degli sviluppatori non ho informazioni certe, ma da quel che capisco la categoria serve anche a loro per farsi un'idea della situazione sui vari wiki e capire come fare a correggere il formatnum. --Daimona Eaytoy (Scrivimi!) 16:45, 17 apr 2022 (CEST)[rispondi]
In ogni caso non è vero che qui si parla solamente degli utilizzi diretti, la pagina è di aiuto anche per chi realizza i template --Bultro (m) 21:45, 17 apr 2022 (CEST)[rispondi]
Sì, per chi realizza i template sì, ma in quel caso mi pare di vedere che lo status quo sia già quello di prescrivere l'utilizzo di numeri non formattati. Ad esempio, i primi dieci template con formatnum che compaiono nella ricerca: {{Edizione di competizione sportiva}} per "gol o punti", {{Divisione amministrativa}} per "altitudine", {{Aeroporto}} per "altitudine", {{Museo}} per "superficie espositiva", {{Quartiere}} per "abitanti", {{Montagna}} per "altezza" e "prominenza", {{Scuola}} per "dipendenti" e "studenti", vari parametri del {{Fiume}} e {{Stato}} per i parametri relativi al. In tutti i casi si chiede esplicitamente di inserire un numero puro, senza formattazioni o altro. Solo l'{{Impianto sportivo}} accetta anche numeri già formattati, ma solo perché usa {{IsNumber}} per determinare se usare il formatnum. D'altra parte, chi scrive un template e vuole usare il formatnum per un parametro si aspetta che quel parametro sia un numero, e basta (con al più delle note). Quindi sì, è anche per chi realizza i template, ma in quel caso mi pare che si tratterebbe più che altro di codificare ciò che già viene fatto nel pratico. --Daimona Eaytoy (Scrivimi!) 12:34, 18 apr 2022 (CEST)[rispondi]
Nulla ci impedisce se necessario dare istruzioni diverse, lasciando magari maggiore libertà a chi crea i template, sistemare qualche template un domani è molto diverso che sistemare centinaia di pagine--Pierpao (listening) 13:01, 18 apr 2022 (CEST)[rispondi]