Discussioni aiuto:Lua

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

Spazi vs. tabulazioni[modifica wikitesto]

Col senno di poi indicherei di usare <tab> non i quattro spazi, de facto è lo stile che generalmente usiamo. Che l'editor di wikimedia usi gli spazi è abbastanza irrilevante, normalmente i moduli si modificano su un editor esterno, salvo che per correzioni rapide al volo.--Moroboshi scrivimi 07:44, 12 dic 2017 (CET)[rispondi]

[@ Moroboshi] Domanda: esiste un codice HTML corrispondente a <tab> che funzioni anche fuori dal tag <pre></pre>? --Ignazio (msg) 08:17, 12 dic 2017 (CET)[rispondi]
Onestamente non lo so.--Moroboshi scrivimi 09:15, 12 dic 2017 (CET)[rispondi]
[@ Moroboshi] Ho riformulato in questo modo. --Ignazio (msg) 10:59, 12 dic 2017 (CET)[rispondi]
Ottimo, stai facendo un buon lavoro.--Moroboshi scrivimi 11:10, 12 dic 2017 (CET)[rispondi]
Grazie! --Ignazio (msg) 11:16, 12 dic 2017 (CET)[rispondi]
All'inizio WikiEditor inseriva quattro spazi quando si utilizzava il tab, poi è stato fixato, da lì forse deriva l'accenno agli spazi, che ho quindi rimosso del tutto. --Rotpunkt (msg) 20:40, 12 dic 2017 (CET)[rispondi]
Ciao Rotpunkt, grazie per le correzioni :) --Ignazio (msg) 21:06, 12 dic 2017 (CET)[rispondi]

Passare tag ai moduli[modifica wikitesto]

[@ Sakretsu, Moroboshi] Qualcuno di voi conosce un modo per manipolare i tag XML tramite Lua come se fossero semplici stringhe? Per esempio, scrivendo {{#invoke:String|match|1<ref></ref>|(%d)<ref>|plain=false}} mi sarei aspettato (senza ragionarci troppo) di ottenere 1. E invece no, perché a quanto pare il tag viene "interpretato" prima di essere passato al modulo.

P.S. Il caso nasce da questa discussione. --Horcrux (msg) 17:09, 5 nov 2020 (CET)[rispondi]

Penso che sia possibile farlo manipolando gli Strip Marker, mi pare di averlo visto fare su un modulo di en.wiki, ma devo far mente locale per ricordare qual'era--Moroboshi scrivimi 18:10, 5 nov 2020 (CET)[rispondi]
[@ Moroboshi] Capito, grazie! Avevo incontrato quei marker (senza avere idea di cosa fossero :-D) facendo dei test come questo:
{{#invoke:String|match|<math>prova</math>|.(.*)|plain=false}} → '"`UNIQ--math-0000000C-QINU`"'
ma non conoscendone il funzionamento ho preferito chiedere (e ho fatto bene :-)).
Provando qualcosa di più preciso:
{{#ifeq:{{#invoke:String|match|1<math>prova</math>|(%d)\127'"`UNIQ.*QINU`"'\127|plain=false}}|1|funziona|non funziona}} → non funziona
{{#ifeq:{{#invoke:String|match|1<math>prova</math>|(%d).'"`UNIQ.*QINU`"'.|plain=false}}|1|funziona|non funziona}} → funziona
Resta da capire con quale carattere dovremmo sostituire \127, che invece sembra funzionare quando usato direttamente nei moduli. --Horcrux (msg) 19:37, 5 nov 2020 (CET)[rispondi]
Puoi sostituirlo con %c--Sakretsu (炸裂) 21:22, 5 nov 2020 (CET)[rispondi]
Grazie mille a entrambi! --Horcrux (msg) 23:03, 7 nov 2020 (CET)[rispondi]

──────────────────────────────────────────────────────────────────────────────────────────────────── [@ Sakretsu, Moroboshi] Sapreste dirmi perché il nome del tag deve essere specificato dopo 3 trattini anziché 2 come indicato nella pagina di MediaWiki?

{{#invoke:String|match|1<math>prova</math>|%c'"`UNIQ--(math).*QINU`"'%c|plain=false|nomatch=}}
{{#invoke:String|match|1<math>prova</math>|%c'"`UNIQ---(math).*QINU`"'%c|plain=false|nomatch=}} → math

--Horcrux (msg) 23:21, 7 nov 2020 (CET)[rispondi]

Perché - è un quantificatore. Devi scrivere %-%- anteponendoci il carattere di escape--Sakretsu (炸裂) 11:03, 8 nov 2020 (CET)[rispondi]
Ahhhh, capisco, corrisponde al quantificatore lazy 0-or-more *? delle sintassi più consuete. Quante cose si scoprono :-) Grazie ancora!--Horcrux (msg) 11:19, 8 nov 2020 (CET)[rispondi]

Apici e virgolette[modifica wikitesto]

[@ Sakretsu] curiosità mia: ', " e ` sono tutti e tre obbligatori o significa che si può scegliere quale utilizzare? Vedo che funziona ugualmente con uno solo dei tre, e sarebbe più pulito da vedere. --Ignazio (msg) 10:22, 9 nov 2020 (CET)[rispondi]

Di preciso come?--Sakretsu (炸裂) 21:37, 9 nov 2020 (CET)[rispondi]
[@ Sakretsu] vedi sorgente di {{Certificazione disco}}: lasciando uno solo tra quei segni funziona lo stesso. --Ignazio (msg) 21:59, 9 nov 2020 (CET)[rispondi]
A me non risulta {{#invoke:String|match|'"`UNIQ|'+UNIQ|plain=false|nomatch=nessuna corrispondenza}} → nessuna corrispondenza.--Sakretsu (炸裂) 13:03, 12 nov 2020 (CET)[rispondi]
[@ Sakretsu] Io l'ho verificato con "Anteprima di una pagina con questo template", lasciando un solo segno sia all'inizio che alla fine della stringa. --Ignazio (msg) 20:17, 12 nov 2020 (CET)[rispondi]
Non vorrei dire una banalità, ma se lasci solo il ` è normale che matcha, perché è adiacente alla stringa UNIQ:
{{#if:{{#invoke:String|match|'"`UNIQ|`UNIQ|plain=false|nomatch=}}|OK|NO}} → OK
--Horcrux (msg) 22:00, 12 nov 2020 (CET)[rispondi]
[@ Horcrux] Non so se è proprio la stessa cosa. Io sto dicendo questo: allo stato attuale del codice del template {{Certificazione disco}} sostituendo %c'"`UNIQ%-%-ref%-.*QINU`"'%c con %c'UNIQ%-%-ref%-.*QINU'%c, con %c"UNIQ%-%-ref%-.*QINU"%c o con %c`UNIQ%-%-ref%-.*QINU`%c (in entrambe le funzioni, replace e match) perlomeno dall'anteprima sembra funzionare ugualmente, come se fosse sufficiente un solo carattere per definire il pattern. --Ignazio (msg) 22:37, 12 nov 2020 (CET)[rispondi]
[@ Ignazio Cannata] Io non riesco ad ottenere i risultati di cui parli. Sei sicuro che la nota continui ad essere mostrata dopo il "+"? Dovresti salvare i tuoi test in sandbox così sono verificabili. --Horcrux (msg) 10:04, 13 nov 2020 (CET)[rispondi]
[@ Horcrux] Avete ragione: ho fatto dei test con {{Certificazione disco/Sandbox2}} salvando le modifiche, e in effetti non funziona. Continua però a funzionare dall'anteprima, mistero della fede! --Ignazio (msg) 11:05, 13 nov 2020 (CET)[rispondi]