Discussioni modulo:String: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
m Riscrivo esempio con Template:Infobox per preservare la resa grafica in vista di passaggio a TemplateStyles. |
||
(86 versioni intermedie di 10 utenti non mostrate) | |||
Riga 5:
::Se è possibile, anche mettere direttamente nella classe "sinottico" uno stile compatto per le liste. Così si avrebbe dappertutto indipendentemente se sono liste fatte con arraytostring o a mano. --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 22:50, 3 mar 2015 (CET)
:::Un primo test di fattibilità - però se qualcuno con più esperienza in css di me ci desse un'occhiata lo preferirei.--[[Utente:Moroboshi|Moroboshi]] <sup>[[Discussioni utente:Moroboshi|scrivimi]]</sup> 21:34, 4 mar 2015 (CET)
{{Infobox
|TitoloInt = Liste non ordinate compatte
|Nome1 = Unordered list standard
|Valore1 = <ul><li>elemento 1</li><li>elemento 2</li><li>elemento 3</li><li>elemento 4 occupa più di una riga</li></ul>
|Valore2 = <ul style="margin-left:0.6em;margin-top:0px;"><li>elemento 1</li><li>elemento 2</li><li>elemento 3</li><li>elemento 4 occupa più di una riga</li></ul>
|Nome3 = Senza unordered list usando • e {{tag|br|s}}
|Valore3 = • elemento 1</br>• elemento 2</br>• elemento 3</br>• elemento 4 occupa più di una riga
}}
::::Neanch'io sono esperto di CSS, ma la proprietà per cambiare il pallino dovrebbe essere [http://www.w3schools.com/cssref/pr_list-style-image.asp list-style-image]. Non posso fare una prova al volo perché le proprietà con immagini non funzionano in linea. La skin Monobook ad esempio usa [[:File:Bullet.png]], Vector usa [[:File:Vector-bullet-icon.png]], qui potremmo usare [[:File:Middot.png]] --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 15:19, 5 mar 2015 (CET)
Ho fatto un po' di prove e secondo me può andar bene aggiungere questo al CSS:
.sinottico ul {
padding: 0px;
margin: 0 0 0 1em;
}
Potete provare inserendolo nel [[Speciale:MyPage/common.css|vostro CSS personale]].
L'immagine del pallino mi pare che non cambi nulla sullo spazio occupato, perciò tanto vale lasciare quella standard, comunque per cambiarla basterebbe aggiungere
list-style-image: url(//upload.wikimedia.org/wikipedia/commons/d/da/Middot.png);
--[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 14:07, 12 mar 2015 (CET)
:Purtroppo con le immagini non credo che si possa fare di meglio. Altrimenti si finisce per lasciare più spazio a destra che a sinistra del pallino. Comunque per me va bene, già è un piccolo miglioramento.--[[Utente:Sakretsu|Sakretsu]] ([[Discussioni utente:Sakretsu|炸裂]]) 00:20, 13 mar 2015 (CET)
== arraytostring ==
Potrebbe essere utile avere sempre a disposizione, sotto forma di un <kbd>$qualcosa</kbd>, anche il numero dell'iterazione in corso (l'indice del "for", per intenderci). Al momento in [[Template:Box successione]] mi sarebbe utile per fare tutte quelle chiamate a <nowiki>{{Box successione/Altro}}</nowiki>, che necessitano del parametro N --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 13:02, 4 giu 2015 (CEST)
:Andrebbe bene se si usa l'n+1 parametro ? ho messo un test in sandbox, eventualmente lo carico stasera. <nowiki>{{Utente:Moroboshi/test|A|B|C}}</nowiki>
{{Utente:Moroboshi/test|A|B|C}}
--[[Utente:Moroboshi|Moroboshi]] <sup>[[Discussioni utente:Moroboshi|scrivimi]]</sup> 13:31, 4 giu 2015 (CEST)
::Certo; sarebbe più pratico $0 (così è sempre lo stesso), ma se è troppo complicato non fa niente --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 15:43, 4 giu 2015 (CEST)
:::Sarebbe la cosa ideale, ma arraytostring si appoggia a una funzione della libreria scribunto che replica il funzionamento dei messaggi di mediawiki e a cui viene passato il messaggio (con dentro i vari marcatori $1, $2, ecc...) e una lista di parametri che vanno a sostituire i marcatori per cui non è possibile usare un marcatore $0 (Per convenzione in Lua le liste sono numerate a partire da 1). In alternativa si potrebbe definire un valore che renda il parametro par uguale al contatore, qualcosa del tipo <code>par2=$index</code> e nel codice del messaggio $2 verrebbe sostituito dall'indice - avrebbe anche il vantaggio di essere più esplicita.--[[Utente:Moroboshi|Moroboshi]] <sup>[[Discussioni utente:Moroboshi|scrivimi]]</sup> 06:06, 5 giu 2015 (CEST)
::::Si, è meglio. Magari in futuro ci viene in mente qualche altro parametro speciale --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 12:38, 5 giu 2015 (CEST)
{{fatto}} Ho aggiornato il modulo.--[[Utente:Moroboshi|Moroboshi]] <sup>[[Discussioni utente:Moroboshi|scrivimi]]</sup> 19:59, 5 giu 2015 (CEST)
Altra cosa: ad es. in [[Template:Rosa nazionale di calcio]], nella parte ripetitiva possono esserci dei "buchi", ad esempio si possono valorizzare solo n4, n7, n9... Attualmente arraytostring non lo può gestire perché al primo buco giustamente si ferma; vale la pena di aggiungere anche un'opzione per non fermarsi? Ovviamente deve essere valorizzato anche Nmax sennò andrebbe avanti all'infinito. --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 17:02, 30 giu 2015 (CEST)
:Forse la cosa più riutilizzabile e più semplice sarebbe aggiungere un parametro "Nobbligatori", per far sì che le prime N iterazioni vengano fatte sempre (in pratica: if index <= Nobbl then found = true) --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 12:24, 2 lug 2015 (CEST)
::Sì direi che è la più semplice e non è il solo posto dovre potrebbe essere utile. Stasera lo implemento.--[[Utente:Moroboshi|Moroboshi]] <sup>[[Discussioni utente:Moroboshi|scrivimi]]</sup> 13:43, 2 lug 2015 (CEST)
:::Ho aggiunto un parametro nobbligatori, comunque la sequenza viene valutata solo fino a nmax (in caso di conflitto vince nmax). Ho anche corretto il template in modo che accetti anche nmin in minuscolo (mi sono accorto che era incosistente accettava ''NMin'' e ''nmax'', adesso accetta anche ''nmin'' è ho corretto la documentazione per indicare solo questa possibilità.--[[Utente:Moroboshi|Moroboshi]] <sup>[[Discussioni utente:Moroboshi|scrivimi]]</sup> 22:33, 2 lug 2015 (CEST)
::::Ho usato varie volte Nobbligatori senza problemi, ma adesso non riesco a capire perché non funziona in [[t:Utente/Sandbox]] (per ora uguale a [[t:Utente]], ma con arraytostring). Non è contento di usare solo $index? Ho provato anche a metterci un par2 fittizio ma niente. --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 23:04, 13 ago 2015 (CEST)
:::::I messaggi vengono visualizzati solo se un parametro effettivo viene valorizzato, se $index è l'unico parametro non genera niente, altrimenti per esempio in {{tl|Box successione}} genererebbe delle righe vuote anche quando i parametri non sono valorizzati. Si potrebbe aggiungere un parametro per cambiare il comportamento.--[[Utente:Moroboshi|Moroboshi]] <sup>[[Discussioni utente:Moroboshi|scrivimi]]</sup> 05:56, 14 ago 2015 (CEST)
::::::Non mi torna... Nobbligatori è fatto apposta per processare anche quando i parametri non sono valorizzati. In [[t:Rosa nazionale di calcio]] possono mancare degli n, ma lui va avanti lo stesso, è l'if che decide cosa stampare o non stampare. Non penso sia questione di aggiungere altri parametri, dovrebbe essere sempre così. [https://it.wikipedia.org/w/index.php?title=Speciale%3ARicerca&profile=advanced&search=insource%3A%2F%5bNn%5dobbl%2F&fulltext=Search&ns10=1&profile=advanced Questi] gli usi attuali; non ho capito perché l'hai usato in [[T:Videogioco]], se i parametri sono stati riordinati via bot non serve più --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 12:33, 14 ago 2015 (CEST)
:::::::In generale non mi piace eseguire chiamate a template non necessarie e salvo un caso particolare come quello di {{tl|Utente}} in generale il messaggio non deve comparire se non sono valorizzati parametri utente. In videogioco l'ho usato perchè fino a che non li avessi riordinati con il bot le voci non sarebbero funzionati correttamente, adesso l'ho aggiornato rimuovendo il controllo.--[[Utente:Moroboshi|Moroboshi]] <sup>[[Discussioni utente:Moroboshi|scrivimi]]</sup> 13:26, 14 ago 2015 (CEST)
::::::::Usare Nobbligatori è di per sé un caso raro, ma tra questi non è raro dover processare tutto. Ad esempio se devo controllare che N parametri siano compilati, è proprio quando non è compilato che deve partire il messaggio.
::::::::Se proprio vuoi aggiungere un parametro, propongo uno per specificare qual è la serie necessaria, ad es. richiesto=2 vorrebbe dire che par2 è necessario per effettuare l'iterazione. Tornerebbe utile a prescindere da Nobbligatori, quando ci sono più serie, ad es. in [[t:personaggio]] è necessario "autore #", ma attualmente va erroneamente avanti anche se è compilato soltanto "autore # nota". Se c'è Nobbligatori non ferma il ciclo ma può evitare la singola iterazione. --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 15:15, 14 ago 2015 (CEST)
{{Rientro}}
Direi che posso provare a fare in questa maniera:
# Se NObbligatorie NMax non sono valorizzati allora processare tutti i parametri anche se questi è solo $index
# Se NObbligatori e NMax non sono valorizzati allora continuare a comportarmi in questa maniera (non processare i casi in cui l'unico valorizzato sarebbe $index), in caso contrario la procedura entrebbe in loop infinito e sarebbe bloccata dal timeout che Mediawiki impone a tutti i processi dei moduli Lua - e in effetti era questo il motivo per cui al momento la funzione non processa i casi in cui non siano valorizzati parametri inseriti dall'utente)
# Rimane il caso NObbligatori non valorizzato e NMax valorizzato, in questo caso non entrebbe in loop, ma preferisco comportarmi come nel caso 2.--[[Utente:Moroboshi|Moroboshi]] <sup>[[Discussioni utente:Moroboshi|scrivimi]]</sup> 17:54, 18 ago 2015 (CEST)
:Mi sa che hai messo un "non" di troppo.
:Io comunque la vedevo più semplice: Se NObbligatori è valorizzato, processare a prescindere dai parametri, ma ovviamente solo finché l'indice è <= NObbligatori.
:In tutti gli altri casi, comportamento normale. Il loop infinito è impossibile --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 16:02, 19 ago 2015 (CEST)
::Ho perso un po' di tempo perchè nei test avevo invertito la condizione da controllare e ovviamente non capivo cosa non andava. Adesso dovrebbe funzionare come richiesto.--[[Utente:Moroboshi|Moroboshi]] <sup>[[Discussioni utente:Moroboshi|scrivimi]]</sup> 12:26, 23 ago 2015 (CEST)
:::Ok! Per la cronaca, in t:Utente avevo già risolto in un [https://it.wikipedia.org/w/index.php?title=Template%3AUtente&type=revision&diff=74734845&oldid=74626678 altro modo], ma non era il massimo dell'eleganza --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 14:33, 23 ago 2015 (CEST)
== Manuale ==
Ho notato la sostituzione da parte di {{ping|Bultro}} del verbo ritornare con restituire, eseguita anche altrove. Questi cambiamenti non mi vedono d'accordo, "ritornare un valore" è tanto corretto quanto "restituire un valore", come può dimostrare una ricerca su testi di informatica. Che si usino indifferentemente, senza dover sostituire l'uno con l'altro, i problemi di terminologia tecnica da correggere sono ben altri. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 06:27, 12 giu 2015 (CEST)
:Se certi testi "ritornano" i valori e "rilasciano" i programmi è un problema loro, io parlo italiano non itanglese. Se correggere ti sembra una perdita di tempo, lo è ancora di più mettersi a discutere... --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 14:27, 12 giu 2015 (CEST)
::In che senso "itanglese"? innanzitutto si dice che una funzione ha un "valore di ritorno" e non "valore restuito" o altro, quindi già "ritorno" è un termine ufficiale. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 14:39, 12 giu 2015 (CEST)
:::"Ritornare" non è sbagliato, ma siccome stiamo parlando di un manuale, probabilmente Bultro ha preferito il verbo "restituire" semplicemente perché suona meglio (vedi [http://dizionari.corriere.it/dizionario-si-dice/R/ritornare.shtml qui] il parere del Corriere ad esempio). Alla fine, siccome entrambe le forme sono corrette, preferire quella più elegante non credo che sia poi così un male. Poi certo, considerare la prima proprio sbagliata sarebbe eccessivo, ma non credo che siamo arrivati fino a quel punto.--[[Utente:Sakretsu|Sakretsu]] ([[Discussioni utente:Sakretsu|炸裂]]) 15:21, 12 giu 2015 (CEST)
::::@Sakretsu ma non possiamo mica prendere un dizionario generalista per una definizione di un termine tecnico di programmazione. Che il valore che una funzione fornisce sia detto "valore di ritorno" non c'è alcun dubbio: vedi [//www.google.it/search?q=valore+di+ritorno&btnG=Search+Books&tbm=bks&tbo=1 valore di ritorno]. Da qui poi tutte le variazioni [//www.google.it/search?q=valore+di+ritorno&btnG=Search+Books&tbm=bks&tbo=1#tbm=bks&q=ritorna+un+valore ritorna un valore], [//www.google.it/search?q=valore+di+ritorno&btnG=Search+Books&tbm=bks&tbo=1#tbm=bks&q=valore+ritornato valore ritornato]. Tutto il resto sono discussioni che lasciano il tempo che trovano perché non basate su fonti e quindi sulla realtà dei fatti. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 15:32, 12 giu 2015 (CEST)
:::::Sì, ma ho specificato che qui stiamo parlando di un manuale, scritto anche e soprattutto per gli utenti che non se ne intendono di programmazione. È normale che una differenza del genere a te non possa sfuggire, ma per gli altri utenti la forma più elegante rimane restituire, che in questo contesto mi pare di aver capito sia altrettanto corretta. Comunque per me la questione è ininfluente, trovo semplicemente la preferenza di Bultro comprensibile.--[[Utente:Sakretsu|Sakretsu]] ([[Discussioni utente:Sakretsu|炸裂]]) 15:58, 12 giu 2015 (CEST)
::::::@Sakretsu bisogna dire che "avere una preferenza", e dire << Se certi testi "ritornano" i valori e "rilasciano" i programmi è un problema loro >> non è la stessa cosa. E chi legge ovviamente ne trae un certo senso. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 16:06, 12 giu 2015 (CEST)
== Segni diacritici ==
Per le chiavi di ordinamento nelle categorie potrebbe essere utile una funzione che toglie i segni diacritici, ad es. trasformando bäbá in baba. Mi pare che esista anche nel PHP. Penso al Bio, ma probabilmente servirà anche altrove --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 19:20, 16 giu 2015 (CEST)
:Pensavo fosse una cosa fatta automaticamente dal software mediawiki, ma ho appena testato con [[John le Carré]] e in effetti prima di mettere il ForzaOrdinamento nel bio veniva messo dopo [[Hereward Carrington]] e [[Leonora Carrington]].--[[Utente:Moroboshi|Moroboshi]] <sup>[[Discussioni utente:Moroboshi|scrivimi]]</sup> 20:46, 16 giu 2015 (CEST)
::Magari lo facesse il software, ma mi sa che è una di quelle cose che svilupperanno l'Anno del Mai. La richiesta [[phab:T2164]] risale al 2004, poi spezzata in [[phab:T32672]], [[phab:T32673]], [[phab:T32674]], [[phab:T32675]].
::Se ho ben capito il T32674, il problema dell'ordinamento c'è anche nelle tabelle ''sortable'', ma quello intanto si può sistemare a mano con un'impostazione di Common.js --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 10:31, 17 giu 2015 (CEST)
:::Una cosa del genere mi servirebbe anche per togliere i codici %XX dagli url. In generale, se si vuole sostituire una serie di stringhe con un'altra serie di stringhe, c'è un metodo efficiente o bisogna fare tanti gsub quante sono le coppie di valori? --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 15:53, 3 dic 2015 (CET)
::::Per le codifiche percentuali ci sono un paio di funzioni lua [https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#mw.uri.encode mw.uri.encode] e mw.uri.encode). Si potrebbero aggiungere un paio di funzioni che le richiamino (ma ho il sospetto che ci sia già qualcosa del genere nel linguaggio mediawiki). Ma per i segni diacritici non mi vengono in mente metodi che non siano sequenze di gsub e sono molto restio a implementare una cosa del genere.--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 16:15, 3 dic 2015 (CET)
:::::In Mediawiki esiste urlencode ma non urldecode.
:::::Per i segni diacritici, essendo corrispondenze 1:1 tra caratteri, si dovrebbe poter fare con relativamente pochi gsub, dal momento che si possono usare i pattern: [àäâă...] viene sostituito da "a" in un unico gsub. --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 17:07, 3 dic 2015 (CET)
::::::Fatto per quanto riguarda decode (avrei dovuto fare prima in sandbox ma ho confuso la finestra aperta sul browser), ci sono alcuni test in [[Discussioni_modulo:String/test]] e pare funzionare, guardo anche per i caratteri diacritici.--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 20:27, 3 dic 2015 (CET)
:::::::Che palle, nel fare il decode avevo scoperto mw.uri.toNFC e mw.uritoNFD ma ho frainteso il loro funzionamento e non risolvono il problema in modo veloce.--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 21:11, 3 dic 2015 (CET)
::::::::Pare funzionare: <code><nowiki>{{#invoke:String/sandbox|collate|Ameliè}}</nowiki></code>: {{#invoke:String/sandbox|collate|Ameliè}}. Comunque servono 52 gsub (una per ogni lettera dell'alfabeto in versione maiuscola/minuscola). Sto copiando i caratteri da [http://www.unicode.org/charts/uca/] (non tutti ovviamente, solo quelli con accentume, virgulettume, cedigliume e varia altra roba che sto iniziando ad odiare). Riprendo domani.--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 23:08, 3 dic 2015 (CET)
:::::::::Bene, ho usato decode in [[t:Treccani]] e ha già corretto un centinaio di riferimenti.
:::::::::Per gli elenchi di caratteri ti aiutavo se me lo dicevi prima... --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 13:00, 4 dic 2015 (CET)
::::::::::Non è per quello è per la frustrazione che non ci sia un metodo più pulito di una catena di sostituzioni. <s>Comunque ho caricato le tabelle ma c'è qualcosa che non funziona nei test, non tratta correttamente "Tōgō Heihachirō" o "Rolf Løvland" non mi</s> Mentre scrivevo mi è venuta l'illuminazione e ho corretto l'errore (odio la sintassi del Lua).--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 14:28, 5 dic 2015 (CET)
:::::::::::Prove sempre in [[Discussioni_modulo:String/test]].--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 14:29, 5 dic 2015 (CET)
::::::::::::Ho provato a utilizzarlo per l'ordinamento in [[t:Brano musicale]] e sembra tutto a posto (es. [[À quoi ça sert l'amour]])--[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 20:05, 5 dic 2015 (CET)
Ho provato anche a usarlo nel Bio ma dice "Errore Lua in Modulo:String alla linea 478: Tried to write global collation". [https://it.wikipedia.org/w/index.php?title=Modulo%3ABio%2Fsandbox&type=revision&diff=77213349&oldid=73190412 Questo] il codice, puoi controllare? --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 16:38, 15 dic 2015 (CET)
===Titoli opere===
Ho abbozzato [[t:Ordina per titolo]] per aggiungere facilmente il ''collate'' ad altre cosette che facciamo di solito con i parametri "titoloalfa". Mi chiedevo però, a questo punto, converrebbe provare a usare un po' di String anche per togliere in automatico gli articoli, trasformando ad esempio "Il Tizio" in "Tizio"? C'è il rischio che "Il" non sia un articolo, ma la vedo un'eventualità piuttosto rara --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 17:47, 15 dic 2015 (CET)
:Ho fatto una funzione titolo_alfa, prova a vedere il test in [[Discussioni modulo:String/test]].--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 23:17, 15 dic 2015 (CET)
::Ho qualche dubbio sull'articolo I perché a volte si tratta di "io" in inglese e ovviamente non va tolto. Si corregge sempre col parametro manuale, da valutare se è meglio togliere a mano le I italiane o rimettere a mano le I inglesi. Viceversa direi di includere gli articoli stranieri come The, El, Las... Avviso anche qualche progetto --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 11:35, 17 dic 2015 (CET)
Ho spostato la funzione nel modulo vero, ma dà un errore che in sandbox non dava... --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 16:11, 22 gen 2016 (CET)
:Che errore ?--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 16:15, 22 gen 2016 (CET)
::@Bultro Bastava copiare [[Modulo:String/sandbox]] su [[Modulo:String]], o viceversa, e usare "Mostra modifiche" per vedere che erano un po' diversi, oppure conoscere un po' la programmazione per vedere che in Modulo:String non c'era alcuna funzione _collate, e neppure str.collate con stringa come argomento. Sistemo. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 16:19, 22 gen 2016 (CET)
:::@Moroboshi era solo l'argomento di str.collate. Vedi tu se fare una funzione separata _collate come avevi fatto nella sandbox (che pare più recente, del 15 dicembre) o meno. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 16:36, 22 gen 2016 (CET)
::::Evidentemente non conosco la programmazione, specialmente quando non è fatta da me, ma grazie per avercelo fatto notare. --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 14:16, 23 gen 2016 (CET)
:::::In effetti dovresti fare più attenzione, se questo può servire a farti usare le sandbox, a usare i moduli di test, a chiedere ad altri più esperti, ben venga. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 14:24, 23 gen 2016 (CET)
== Frame ==
Sbaglio o tutte queste meraviglie non sono utilizzabili da un modulo allo stato attuale? Bisognerebbe generalizzarlo con la nostra "convenzione" <code>str.match(frame)</code> + <code>str._match(args)</code> giusto? --[[Utente:Valerio Bozzolan|Valerio Bozzolan]] ([[Discussioni utente:Valerio Bozzolan|msg]]) 20:20, 5 giu 2017 (CEST)
: {{Fatto}} {{Diff|88276071}} Ho generalizzato il <code>match(frame)</code> aggiungendo <code>_match(args)</code> per chiamata diretta dal modulo. --[[Utente:Valerio Bozzolan|Valerio Bozzolan]] ([[Discussioni utente:Valerio Bozzolan|msg]]) 21:11, 5 giu 2017 (CEST)
:: ...sebbene spesso (come nel mio caso) è sufficiente <code>[[mw:Extension:Scribunto/Lua reference manual#mw.ustring.match|mw.ustring.match]]</code>. --[[Utente:Valerio Bozzolan|Valerio Bozzolan]] ([[Discussioni utente:Valerio Bozzolan|msg]]) 01:41, 6 giu 2017 (CEST)
::::Beh, da modulo lua è meglio usare le funzioni dirette, queste sono in generale per poter essere usate in template mediawiki.--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 06:44, 6 giu 2017 (CEST)
::::: Sìsì, meglio quelle dirette O:) Avevo però dubbi che fossero direttamente interscambiabili :D --[[Utente:Valerio Bozzolan|Valerio Bozzolan]] ([[Discussioni utente:Valerio Bozzolan|msg]]) 09:38, 6 giu 2017 (CEST)
== Limitazione ==
Segnalo che se si sceglie di non far considerare il pattern come una stringa normale, Lua ignora le sequenze che iniziano per backslash. Esempio con \n:
{{Colonne}}
<code><nowiki>{{#invoke:String|replace|test
test|\n|OK||false}}</nowiki></code>
{{Colonne spezza}}
{{#invoke:String|replace|test
test|\n|OK||false}}
{{Colonne spezza}}
<code><nowiki>{{#invoke:String|replace|\n|\n|OK||false}}</nowiki></code>
{{Colonne spezza}}
{{#invoke:String|replace|\n|\n|OK||false}}
{{Colonne fine}}
Per Lua quel \n inserito equivale a \\n. Vale la pena aggiungere un controllo per validare queste sequenze oppure no?--[[Utente:Sakretsu|Sakretsu]] ([[Discussioni utente:Sakretsu|炸裂]]) 00:51, 8 nov 2017 (CET)
: @Sakretsu Attualmente se volessi sostiture tutti i "\n" di una stringa con "OK" cosa usi? Non è che è Lua che ignora le sequenze di backslash, se ho capito cosa intendevi con la frase, è che nella funzione str.replace la variabile pattern giunge a contenere '\\n' invece di '\n'. Se impostassi nel codice la variabile pattern a '\n' la sostituzione avverrebbe correttamente. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 13:14, 8 nov 2017 (CET)
::Certo, Lua ignora le sequenze di backslash se passate tramite parametro, non se scritte nel codice. Il punto è che %a ecc. sono considerate valide, \n ecc. no. Praticamente se il parametro plain è impostato su false dovremmo controllare la presenza di "\\n" ecc. per convertirli in \n.--[[Utente:Sakretsu|Sakretsu]] ([[Discussioni utente:Sakretsu|炸裂]]) 13:27, 8 nov 2017 (CET)
:::A me non è mai capitato di dover sostituire dei newline del wikitesto, quindi non me sono mai accorto, ma non dovrebbe essere documentata questa trasformazione di "\n" in "\\n" quando poi letti tramite frame.args? Non ce n'è traccia in [[mw:Extension:Scribunto/Lua_reference_manual]]. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 13:35, 8 nov 2017 (CET)
::::È venuta fuori come idea [[Wikipedia:Bar/Discussioni/Passaggio_da_Tidy_a_RemexHTML:_c'è_del_lavoro_da_fare#Cn|qui]] per gli errori HTML del template {{tl|Chiarimento}}. Stavo considerando se fosse sufficiente l'uso di String, ma mi pare di no. Comunque mentre testavo ho notato l'anomalia e ho pensato che fosse almeno il caso di segnalarla. Poi se valga la pena di fare qualcosa, appunto non saprei.--[[Utente:Sakretsu|Sakretsu]] ([[Discussioni utente:Sakretsu|炸裂]]) 13:52, 8 nov 2017 (CET)
Bene che sia venuto fuori, lo esemplifico con:
<source lang="lua">
local p = {}
function p.main(frame)
return frame.args[1] == '\\n'
end
return p
</source>
Questo modulo (e.g. Example) restituisce "true", quando invocato con <code><nowiki>{{#invoke:Example|main|\n}}</nowiki></code>, cosa che mi aspetterei fosse documentata, altrimenti non si capisce se è una feature o un bug. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 14:06, 8 nov 2017 (CET)
== Refuso ==
Non potendo correggere io stesso, segnalo che nella sezione [[Modulo:String#Chiamata_delle_funzioni]], primo paragrafo, l'ultima parola prima dei due punti è "stringe" ma ovviamente dovrebbe essere "string'''h'''e".--[[Utente:Wedhro|Wedhro]] ([[Discussioni utente:Wedhro|msg]]) 11:20, 12 gen 2019 (CET)
: Scusate, come non detto, dimenticavo che le istruzioni sono in una sottopagina modificabile.--[[Utente:Wedhro|Wedhro]] ([[Discussioni utente:Wedhro|msg]]) 11:22, 12 gen 2019 (CET)
== Check IP ==
{{ping|Moroboshi}} in merito a [https://it.wikipedia.org/w/index.php?title=Modulo%3AString&type=revision&diff=105679030&oldid=100978823 questa aggiunta], sappi che esiste [[Modulo:IP validator|questo modulo]] che scrissi tempo fa (e [[Discussioni modulo:IP validator/test|relativi test]]). --[[User:Horcrux|Horcrux]] ([[User talk:Horcrux|msg]]) 12:32, 18 giu 2019 (CEST)
:Ho rimosso la funzione in oggetto. --[[User:Horcrux|Horcrux]] ([[User talk:Horcrux|msg]]) 15:13, 22 lug 2020 (CEST)
== Count ==
Hello, è possibile aggiungere la funzione "count" di modulo di enwiki?--[[Utente:Bouzinac|Bouzinac]] ([[Discussioni utente:Bouzinac|msg]]) 15:14, 26 mar 2021 (CET)
== Uso di template come entry point ==
{{ping|Bultro|Sakretsu}} C'è qualche motivo tecnico per cui non sono mai stati creati dei template di appoggio per le funzioni definite in questo modulo? Ad es. sarebbe più utile scrivere <code><nowiki>{{urldecode|%28}}</nowiki></code> anziché <code><nowiki>{{#invoke:String|decode|%28}}</nowiki></code>. --[[User:Horcrux|Horcrux]] ([[User talk:Horcrux|msg]]) 13:44, 4 mar 2024 (CET)
:Alcuni sono stati creati. Quel che c'è in teoria dovrebbe essere in [[:Categoria:Template per la manipolazione delle stringhe]]--[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 00:20, 5 mar 2024 (CET)
::Ah ok, non lo ricordavo. Grazie! --[[User:Horcrux|Horcrux]] ([[User talk:Horcrux|msg]]) 09:19, 5 mar 2024 (CET)
|